Add in UI-Router events

Calls ```purgeHotkeys``` on ui-router's $stateChangeSuccess
fix purgeHotkeys to delete all

purgeHotkeys would previously miss the tail end of the array, because it was using a forward loop (angular.forEach), and the index was decrementing with each delete.
Update Hotkeys to work with ui-router

This is a start on ui-router compatibility.  ```$stateChangeSuccess``` is not called on initial page load, so any shortcuts defined on the first route would not be registered.  I'm not sure how to get around this.
fixed scope passing issues with ui-router
Resolve failing test: 'Angular Hotkeys should (un)bind based on route changes FAILED'