Compiles again.
Added coments to easier distinguish which  quarter is which
Added OS X support
Moved camera into own header, added main header
Moved a lot of main into header
Added shader header, rearranged includes
Moved shader code into separate C file
Moved shader loading into separate procedure
Moved geometry generation into separate procedure
Moved GLFW init into separate procedure
Moved window creation into separate procedure
Moved GLEW init into separate procedure
Do all init from one init proc
Moved main loop into separate proc