Remove duplicate shaders for core profile, instead use preprocessor
This removes the need to have separate _core profile shaders, instead
handling the small differences between core and legacy with some
preprocessor tricks. This matches the behaviour with Kirigami where
I did the same.
In addition, this brings in another change from Kirigami where the
sdf_render functions have been split up and no longer blend based
on the target color's alpha.