Kamcord and OpenGL2

Lots of changes, some of them are formatting.

Adds Kamcord and also switches our rendering to OpenGL 2.
Why static? It's fine to make this non-static because it doesn't conflict with anything, right?