Clean-up of Android entry point infrastructure. Remove AppWindow, concerns split out to AppProxy to spin main native thread and act as proxy object for Java interaction, AppRunner to co-ordinate display binding with app lifetime, AppHost for configuring platform specific functionality, AppInputDelegate for forwarding navive input to cross platform ExampleApp class. Input messages and synchronization delegated to platform concurrency & messaging types. The Java examples still use their own message bus, next step is to use a message box based on the same messaging pattern as the app lifecycle.
Use a message queue (pumped in AppHost) to send messages from the JNI proxy to the Android examples which communicate with Java. This supports strongly typed messaging, and includes an example which transmits data from Java to c++ (JavaHudCrossThreadCommunicationExample). The example factories are given the shared queue by AppHost.