Change keyboard shortcut context

closes #4247
- added scope to every shortcut, the scope of shortcut is default to
  'default'
- add shortcut `enter` to modal which confirm the modal
- shortcut `enter` and `esc` now have scope 'modal'
- when lunch a modal, scope is switching to 'modal', and set back to
  'default' when close
- shortcut `enter` now confirm the dialog without conflicting with route
  shortcuts
When we change the scope to 'modal', the shortcuts which defined in 'modal' and 'all' scope will take effect.
so when a modal popup, you press `enter`, both "confirm the modal" and "edit the post" will be executed. The page will jump to `/editor/xxx` and then jump back (as the post has been deleted). 
So I set the scope to 'default' , then when a modal pops, you press `enter`, only "confirm the modal" be executed.