OOPified OpenGL extensions
Better Error throwing and construction