Kamcord and OpenGL2

Lots of changes, some of them are formatting.

Adds Kamcord and also switches our rendering to OpenGL 2.
Can we change these keys after release and have everything still work? I'm fine releasing with these for now then updating our key distribution mechanism later.