We now have proper undo/redo.

1) Added "ActionQueue" which follows the command pattern so we can do
some form of undo/redo.
2) Renamed and reorganized the classes, so it is easier to understand
and follow.
3) Updated the developer UI to do undo & redo.