keypress now function as expected

keypress now:
- Understands key modifiers (alt ctrl shift)
- Uses Shoes v3 naming convention
- yields symbols when key modifiers and/or special keys
Simple refactoring of the key listener into its own file

* but now almost everything is in there
* also added a little sample to try it out
Tests for what is already working for keypress
Shift isn't shown as a modifier but does the upcase magic
only modifier keys yields nothing

* and quite some refactoring/restructuring
pressing the control modifier key
Tests for special keys and special keys with modifiers

* also a test for multiple modifier keys if the keyCode is
  supplied (as it usually is)
* Shift + special keys doesn't work yet... this needs more work
Quite some nice refactoring and :shift_left now works
:control_A now works and refactorings
remove warning during spec run of should_receive on nil
Merge pull request #279 from PragTob/keyPressFixRebase

A working keypress implementation
Argh special keys alone are also emitted as symbols

* except for enter... :/
Having the Keypress Listener within the keypress file makes sense

* otherwise the keypress file was extremely empty
* those two really belong together, so I also put their specs together
  in one file
* what do you think?
Updated nokogiri, let's see if Travis passes
Merge pull request #284 from PragTob/NokogiriUpdate

Updated nokogiri (passes now on Travis as they updated to 1.7.4)