## Summary / How this PR fixes the problem?
Implement basic undo/redo. code is somewhat inefficient...but honestly fairly ok considering other limitations currently in the software. I don't guarantee this is bug-free ;)
## Steps to Test
Undo with ctrl-z, redo with ctrl-shift-z
## Known Issues / Things To Do
Todo:
* probably should limit number of undos/redos
* There is probably a way to reduce special code to make sure
things are copied and not just reference-shared...vala...