cogl: Use sized internal renderable formats
Using sized internal formats is required to make sure we actually get the precision that we want.
The formats should also be renderable, otherwise they can not be used as a framebuffer attachment. For GLES we have to check for a bunch of extensions and fall back to internal formats with more bits when they are not available.
For half float and 10bpc formats there is no fallback so support for them has to be explicitly checked via CoglFeatureIDs:
- COGL_FEATURE_ID_TEXTURE_RGBA1010102
- COGL_FEATURE_ID_TEXTURE_HALF_FLOAT