Added CollectionCanvasController to handle layout and housekeeping inside CollectionCanvasView.
Added CollectionCanvasControllerDelegate to establish communication between CollectionCanvasController and CollectionCanvasView.
Renamed CollectionCanvasController to CollectionCanvasViewModel.
Removed unnecessary code.
Revert "Renamed CollectionCanvasController to CollectionCanvasViewModel."

This reverts commit c68540e3ced2b3610055ace0a098cacfbfc22142.
Removed unnecessary code.
Reformatted code.
Added Exception for inconsistent state.
Renamed classes. Added TB prefix.
- fixed deletion of nodes + handles
- fixed layout of handles
Merge branch 'feature_layout_controller'