Undo/Redo

Covers:
* https://github.com/KSHSK/WAVED/issues/44 - Implement "Undo" and "Redo" buttons
* https://github.com/KSHSK/WAVED/issues/149 - Event - selected actions save after cancel (needed to fix it while working on this)
* https://github.com/KSHSK/WAVED/issues/169 - Deleted item's unique name still in use (I'll get to this on 3/25)

There's a ton of code changes, including two new helper (singleton) classes. It will require significant code and functionality review.

While working on this I noticed a need for z-index for widgets - https://github.com/KSHSK/WAVED/issues/171