Minor improvements to `Event`, `Key` and `Button`

Closes https://github.com/PistonDevelopers/piston/issues/93

* Made `Button` usable with hash maps
* Added Ord for `Key`
* Deriving traits for `Event`
* Inlined primitive conversions of `Key`