Burn down ReactiveUI.Mobile, decouple auto-suspend from routing

This PR attempts to address #570 by making some drastic changes to ReactiveUI.Mobile. 

* **Decouple auto-suspend from routing:** -  `IApplicationRootState` is now dead, we now just use `object`. This means that, the goal of auto-suspend is to automatically restore / save / recreate a single object, whose contents can be whatever you want. Auto-suspend now does *not* attempt to load views, it's on the app to do this.
* **Move RxUI.Mobile into ReactiveUI core:** - Remove Geolocation and move auto-suspend into ReactiveUI proper. This means that the auto-suspend API is available in portable DLLs
* **Remove Routing for platforms that hate it** - We remove classes for Android and iOS that implemented Routing, because they never actually worked correctly or had significant setup cost. 

### TODO:

- [x] Simplify layers of abstraction that aren't needed now
- [x] Add an API to get the current root ViewModel
- [x] Verify API works on Android
- [x] Verify API works on iOS
- [x] Verify API works on WinRT
- [x] Add a dummy SuspensionHost for Mac and WPF that just fires Resume on Start and Suspend on Quit

Fixes #570