GLFW 3 support

Status: Alpha. It's ready to exercised, but the API may be subject to change.

Tasks:
- [ ] Add remaining callbacks to example
- [ ] Create error code wrapper type so that new `error()` method has GLFW-specific input parameters
- [ ] Investigate if there are good candidates for optional or named function parameters
- [ ] Determine how callbacks will be unset (`C_NULL` doesn't seem ideal)
- [ ] Determine if there's a better way to `show()` a `Window` value

Dependencies:
- glfw/glfw#273