Kamcord and OpenGL2

Lots of changes, some of them are formatting.

Adds Kamcord and also switches our rendering to OpenGL 2.
We should probably actually try to get this working at some point. Adding an issue for this.