Organsing go!
Texture Dimmension is now templated into the class, rather than just varaible data.
Texture options pulled in via a seperate file, in their own namespace.
Program and Shader class split into to files.