Introduced UI elements to support Undo/Redo

* This commit is mainly meant to get noise out of the already big undo branch
* Note that there are changes in SLN file, but that is meant to align better with the actual SLN