begin undo/redo

- built structure for keeping track of object in workspace
- built structure for keeping track of actions performed
- worked undo/redo buttons in toolbox