Add isDestroy() method to Component.
Add isDestroyed() method to Controller.
Change `createControllers()` in Application to return an Object (map) of the controllers being created for the Application. Controllers are now accessed by name via `getController()` after they have been instantiated.

Also add destroy() functionality for the application, which destroys the controllers, and the viewport when called.