Move all of the example configuration/construction out of the example app, this app just configures its initial camera, registers a set of example factories with a controller, and updates/ticks/processes input to platform. The example app no longer has any platform specific code, and there is now a mechanism via the ExampleController to change example at runtime.