Added a GUI Manager class, so all the major GUI API's are handled by
this object.
Major refactoring of the code.
Added a Redo menu option