Fix #355 - Remember last run target

- 'Run' command runs and remembers target file
- Subsequent calls to 'Run' launch the remembered file.
- 'Run (This File)' updates the target file to the current file
  and runs it.

  Keyboard:

  - F7 - 'Run'
  - Shift+F7 - 'Run (This File)'
  - Ctrl+F7 - run secondary action (otherwise the same as F7)
  - Ctrl+Shift+F7 - run secondary action (otherwise the same as Shift+F7)
Add event infrastructure
Merge pull request #359 from my-personal-forks/fix-355-remember-run-target

Fix #355 - Remember last run target