Remove separate _core shaders and port some other bits over from Kirigami
This removes the need for separate _core shaders, instead using the preprocessor to handle the differences between core and legacy profiles. With this, the behaviour is the same as Kirigami's ShadowedRectangle. This greatly reduces the amount of duplicated shader code.
It also brings over another change from Kirigami, where the sdf_render function was separated into a version with default smoothing, one that allows specifying smoothing level and one that also allows specifying blending alpha. This fixes an issue where alpha was applied twice during blending.