Greatly impoved texture structure

I've made an abstract class for all generic OpenGL textures, then an
'image' class for loading buffered images into OpenGL. This is better
than the old system because it doesn't rely on the texture being an
image, which makes more sence... ;)
Removed 'abstract' modifier in 'texture'