Some fixes in Shader and Program. Program now follows project guidelines for classes: create and prime.
Cleanup and starting to implement index buffer
Fixed missing include
Fixed context creation on OS X.

See http://www.glfw.org/faq.html#how-do-i-create-an-opengl-30-context
Some minor changes and fixes.
Merge branch 'fix-osx-build'