Add thread assertion macros to all C++ methods in the Android platorm code. Refactored to mitigate cases with invalid access, data races or faulty assumptions -- mostly accessing of menu contents from both threads, or triggering selection handlers which perform operations which affect both view and platform models. To resolve, all menu/view code now 'belongs' to the UI thread, and mutations must be buffered if they originate from the native platform (e.g., search results.). Selection handlers split into two handler components -- on iOS, both are executed via a convenience method (an identity implementation).