ok/cancel for edits, started ActionManager

- refactored ClickableComponent as ClickDragThreshold to make
inheritence more flexible
- added margins to ListLayout
- started ActionManager which will verify and track any user actions
(this is for implementing permissions and undo/redo)