Closes #207 and #202.
Track module moves.
Add initial state (opened file) to History

Also some basic optimizations to use less memory.
Add keyboard shortcuts for undo/redo. Closes #218.
Fixes #224.