Do not double fire modifier keys
Update tests

- Add new tests
- Reorganize tests so they are grouped by category
Rename test file
Set up tests to run via grunt
Add more tests
Add unbind tests