Change over to a message passing approach for callbacks in glfw-rs.

Addresses glfw-rs issue #23 and a servo crash at shutdown.
Change some of the WindowEvent members to structs to name their fields.
Revert inadvertant change to window.rs
Add polling for window events (i.e., callbacks) to the window example
Remove extra unit from enum constructors.
Remove redundant deregistration of callbacks.
Rename private -> extfn.
Merge pull request #29 from larsbergstrom/message-passing

Message passing conversion
Add Lars Bergstrom to AUTHORS
OCD formatting style fixes :]
Improve implementation of create_shared and turn it into a method

Window::create_shared is now a method on &self. Call it to break off a new shared window.

Internally Window::{create, create_shared} both use a new function Window::create intern that takes an Option<&Window> for the shared context. This means that Window::create does not need to make an empty window for the supplied shared window parameter.
Fix incorrect assignment of Window.shared to true. Rename field to is_shared.
Merge commit 'bjz/master^' into HEAD