gtk4: Improve handling of RGBA GL textures in GTK
GTK 4.14 comes with a new GL renderer that does not support GL shader nodes anymore, so the conversion from non-premultiplied alpha to premultiplied alpha has to happen differently.
For GTK 4.14 or newer we use the correct format directly when building the texture, but only if a GLES3+ context is used. In that case the NGL renderer is used by GTK, which supports non-premultiplied formats correctly and fast.
For GTK 4.10-4.12, or 4.14 and newer if a GLES2 context is used, we use a self-mask to pre-multiply the alpha.
For GTK before 4.10, we use a GL shader and hope that it works.
Fixes #488 (closed)