Added a runInit and mergeView; init now protected; Added reference

runInit is called externally and returns the correct reference to the controller. Chainloading changes the reference to the new controller
mergeView is for when creating composite views in a child controller
Removed frame code, entry now calls runInit() on the controller
Exposed mergeAssets to clients
Implemented a ComplexController for handling composite views

These controllers are used to load other controllers and create composite views from them. They chainload the template controller and merge there imported controller views into the template controller
Added ComplexController to list of init since it is a core class type