Add test for scoping
Add key.deleteScope(scope) to remove all handlers

Removes all handlers associated with a given scope, allowing throw-away and re-usable scopes. Includes test. Adds 1 function, 8 lines of functional code, and 117 bytes to the minified version.
processing keypresses is configurable via key.prekeydown
updated kemaster.min.js
capital V
Merge pull request #31 from agnoster/keymaster

---

Removes all handlers associated with a given scope, allowing throw-away and re-usable scopes. Includes test. Adds 1 function, 8 lines of functional code, and 117 bytes to the minified version.

I took the liberty of adding a simple test for scope while I was at it.

I love how keymaster is so simple and small, I hope this addition does not constitute undue bloat.

If youre curious why I added this function: on a single-site app Im building we want to be able to be able to switch to different "apps" with their own shortcuts. However, when we navigate away from the app it is destroyed, and a new one is created when we navigate back. Allowing us to destroy the scope of all shortcuts the app registered means we dont need to worry about callbacks to a dead app being fired (and of course the app not getting garbage-collected because the closures hold references to it). Of course, if theres another, better way to do this, Id be happy to hear that too. Now, we can just do:

    // on app open
    key(n, this.appName, this.createNewItem);
    // ... and other shortcuts...
    key.setScope(this.appName);

    // on app close
    key.setScope(all);
    key.deleteScope(this.appName);

Conflicts:
	keymaster.js
	keymaster.min.js
Merge pull request #33 from dominictarr/keymaster

---

Ive moved the test for INPUT, SELECT and TEXTAREA into a property of `key`,
`key.prekeydown`

if the function assigned to `prekeydown` returns `false`, then keymaster ignores the key press.

you can also change scope in this function, so you can have a scope the shortcuts that work inside an input.

one quirk is that keys in the all scope still work when youve changed the scope.
so, if you want shortcuts that do not apply inside an input, you need to assign them to a particular scope.

Conflicts:
	keymaster.min.js
update docs
one more doc fix
Defer setting of scope in setScope to prevent potential loop or calling callbacks from different scope for the same shortcut. Fixes #28. Fixes #48
Merge pull request #49 from okonet/master

Defer setting of scope in setScope
Removed setTimeout from setScope since it's unreliable and breaks tests. Instead passing _scope to a callback as argument to ensure it remains the same by the time of execution. Fixes #48
Merge pull request #51 from okonet/master

Passing _scope to a callback as argument. Updated test suit.
modifiers reset issue
fix typo
Merge pull request #58 from davidchambers/master

fix typo
Add noConflict
Added functions for recording whether a key is down
Added unit test
Merge pull request #63 from mimshwright/master

Added the ability to check if a key is down