Redevelop GLFW 2 code

It should still be compatible with the old version. Added a few
things that were missing before, such as joystick support.
First crack at GLFW 3 support
Split GLFW 2 callback setters (like GLFW 3)
Withhold Init() return code

If the code indicate failure, throw an error.
Fix mouse button callback signature
Upgrade callback test to use GLFW 3 API
Update minimal window example
Rename "test" directory to "examples"
Duplicate comments from C example code
Add info about supported versions