made GLTexture abstract, fixed up a few minor things