GPU management

We will be using OpenGL to render using the GPU. This involves using GL objects to upload data and then process it.