Merge pull request #85 from bjz/doc

Add doc generation target
Rename crate_id to "glfw-rs"

This is so that when the library is installed to `/usr/local`, it doesn't conflict with the actual libglfw library.
Add install/uninstall targets and switch to using a shell script for getting link arguments

Using a shell script should make it easier to include in other projects because it doesn't need to be compiled.
Merge pull request #89 from bjz/install

Improve Makefile with install and uninstall targets
Use messaging instead of trait objects for window event handling
Fix Rust-ci docs
Merge pull request #87 from bjz/events

Use messaging instead of trait objects for event handling
fixed make uninstall for linux
Merge pull request #91 from HeroesGrave/master

Fixed make uninstall for linux
Use semver::Version
Merge pull request #92 from bjz/semver

Use semver::Version
Ensure glfwInit is only called once and glfwTerminate is called even after task failure.

This removes the need for the separate `glfw::terminate` function. `ffi::glfwTerminate` is *guaranteed* to run once at the end of shut down because it is queued using `std::rt::at_exit`.
Merge pull request #94 from bjz/sync

Ensure glfwInit is only called once and glfwTerminate is called even after task failure.
Make the Port an option to allow for stealing