Undo and redo
Work in progress, don't merge yet please
This builds on top of !2 (merged)
Todo:
-
Get undo and redo working. -
Cleanup. -
Don't put focus/unfocus on undo stack. -
Another location / UI for undo/redo actions (probably another PR).