Upgrade to GLFW3

Biggest change: windows are now the input emitters, so was able to get
rid of glfw_input_emitter. Callbacks though got more detailed, but that
will most likely end up being a plus.

The rest is changes to how GLFW sets up windows and manages the opengl
context.