Abstracted GL More, Moved to c Hash Table

Also moved image texture to its own abstract class.
Most of the openGL boilerplate has been removed from test viewController