[core shell] Simplify input handling to just callbacks.
[core] Window close callback just calls stop()
[shell] Add hotkey system.
[shell] Make console not read trigger hotkey as input character.
[shell] Add exit command.
[shell] Add pause command
[shell] Tab completion.  I am overengineering this.