Increase default undo stack size.
Refactor the UndoStack to use shared_ptrs.
More refactoring to get rid of raw pointers.
Simplify Undo SnapShot class.
Refactor classes into files, some cleanup.
More UnoSystem refactoring.

Remove unneeded destructors.
Privatise class members.
Replace raw pointer with reference.
Comments.
Rename UndoObserver -> IUndoStateSaver
Rename Undoable -> IUndoable
Remove unnecessary TransformNode wrapping.
Rename UndoTracker to IUndoTracker
Minor refactoring.
Remove senseless unsigned int wrapper.