Move glfw platform implementation into separate crate

Separate platform implementations should be in different crates. In the future we will also have `sld2_platform` for example.
Merge pull request #86 from bjz/glfw_platform

Seems fine so far.
Added Glfw window context creation with fallbacks.
Made the default one try OpenGl 3.2 core and 2.1, in that order.