Replace AndroidUIScheduler with a more generalized scheduler implementation that delegate to an Android.OS.Handler

Why does ReactiveUI reassign the RxApp.MainThreadScheduler in Activity.OnCreate()? Any reason not to ifdef this once into RxApp? One of the reasons I implemented this was so that I could assign the MainThreadScheduler in Application.OnCreate(). The motivation was to allow me to use ReactiveObject throughout my app even when the app is backgrounded. For instance I have a ReactiveObject to monitor the network state, which I use to pause and automatically resume http requests when the network state changes even if the app is backgrounded.