Added Glfw window context creation with fallbacks.

Made the default one try OpenGl 3.2 core and 2.1, in that order.
That sounds in my head like providing default values for size and mode. But I can change it to that if there is no better name.