Add OpenGL specific implementation of TTextureCache at OpenGL::TextureCache.

It currently only supports a number of more common SDL_Surface formats; more specifically, it doesn't support palleted formats or anything outside of the Pixel Format enum.