Added Glfw window context creation with fallbacks.

Made the default one try OpenGl 3.2 core and 2.1, in that order.
Couldn't you rename `glfw_platform::GlfwPlatform` to `glfw_platform::Platform`? Then this becomes a simple `pub use glfw = glfw_platform`;