Make TextureUnit an instantiable type

Code is a bit nicer, but even more important it allows sane
implementation of sampler uniforms