Arrays and textures working

Going to attempt some basic optimisation
Arrays, textures, and selection rendering working

About to replace the current display lists with arrays.
Integration failed, need more changes

Vertex arrays cannot be shared between contexts, however it looks as if
buffers are (wish I'd known that earlier). I've abstracted buffers and
arrays together, I need to separate them out again.
Reverting back to display lists for now.

Well, that was interesting, but a failure. Try again when it sinks in a
bit more. Issues:
1. Probably got the data structures wrong, a VBO for each solid ended up
to be very expensive. Try again with one giant VBO blob.
2. Switching textures and shader variables was also quite expensive, try
reducing the number of variables and do more work on the CPU instead.
3. VBO/VAO wrappers ended up very messy, get these more pure in the next
attempt.
Right now I need to focus more on getting a release out than learning
better graphics programming. Moving VBOs to milestone 2.