Overhaul of display thread.

Now supports multiple "Frames" to switch between for the user.
Integration of basic shapes, buttons and a Menu class to create
simple GUI's. Split the OpenGL rendering across multiple classes
for ease of debugging, portability and use.