texture: Add support for grayscale memory formats
I'm currently getting away with no reallocations from the decoder to a gdk::Texture for the texture data.
The only exception right now is grayscale images. PNG, for example, supports
- Gray8
- Gray8a8
- Gray16
- Gray16a16
Decoders must also deliver them in a non-RGB format since lcms2 denies applying grayscale profiles to RGB data. So I have these internal format anyways.
So it would be pretty convenient if I could just feed those four formats (haven't seen use of any others so far) to gdk::MemroyTexture :)