Add R8_UNORM and R16_UNORM extended surface formats
Tested on OpenGL, D3D11 and SDL_GPU.
You may ask "Why do we need R8_UNORM when Alpha8 exists?" And the answer is that Alpha8 behaves differently on each backend right now, but R8_UNORM as Red is consistent.
If the behavior is different that's likely a bug, unless the APIs define them differently - I would definitely prefer bugs first and extensions dead last, rather than the other way around.
I looked into fixing Alpha8 before and couldn't figure it out. I'd be happy to pair with someone who wants to look into it I guess? It's also a problem in that Alpha8 RTs don't work in GL, while R8/R16 ones do.
Blocked by https://github.com/MoonsideGames/dav1dfile/issues/4