Gl scalar tex float

Adds support for specifying scalar/monochrome textures with float and half float color types. Fixes #3039.
Yes, noticed that after pushing. I have further refactored the code in glTexPixelData to simplify a bit more, and fixed this case as well. I'll push in shortly after I check the tests.