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```.
it's computed because we need the event handler bound to this context and we need to keep the same bound function somewhere to be able to remove it in `removeDocumentHandlers`