Add more error handling and make sure we init GLEW

Was getting strange segfaults will the glGenVertexArrays call, turns out
I wasn't initializing GLEW (gl.Init()) so the method pointers weren't
set up yet.
Start working on storing mesh info on the graphics card

I'm going with glDrawArrays for now as it's easier to work with than
glDrawElements and I'll most likely need both anyway. This though
requires a full set of verticies for the default cube as there's no
vertex sharing with Array drawing.