Add input event DAG

This PR adds code for hotkey recognition and event emission.
Still WIP, but you can review the code that is present now.
Targets #321.
Shouldn't this be called `create_node_tab` instead of `create_tab_node` (because you create a table here, not a node... as far as I can see...)?