Experimental Example of Undo/Redo System

Initialization is shakey, but the system is able to undo/redo
events provided to it.
Some futher consideration is needed to define when undo events
should be merged...