ESC to close modals

Replaces #46 

I rebased on top of the dev branch - can someone take one last quick look? Many thanks!

@azirbel @jcollins1991 @charlescharles 

Should the files in ```dist/``` be included here? I noticed that running grunt messes around with all sorts of files and folders that are not in ```.gitignore```.
I think it's best to have it be computed; otherwise you'd need to maintain a reference to the first instance of `keyHandler.bind(@)` when you set the handlers in order to remove that handler later. Otherwise, you'd have to replace `$(document).on('keyup', @get('keyHandler'))` with something like

callback = @get('keyHandler').bind(@)
@set 'boundKeyHandler', callback
$(document).on('keyup', callback)

and then you'd have to remove the handler with 
`$(document).off('keyup', @get('boundKeyHandler'))` or something.