"System.InvalidCastException: Specified cast is not valid." during Android RestoreInstanceState
## 🐛 Bug Report

### Reproduction steps
1. Start an Android app with MvvmCross.
2. Use any app to fill all of the RAM.
3. Return to the App with MvvmCross.
4. Get a crash by calling MvxFragment`1.get_ViewModel()
```
System.InvalidCastException: Specified cast is not valid.
MvvmCross.Platforms.Android.Views.Fragments.MvxFragment`1.get_ViewModel()
```

[An explicit cast to cause the exception](https://github.com/MvvmCross/MvvmCross/blob/330c6bd580db61ce2f84a9016f0eac290bd117c9/MvvmCross/Platforms/Android/Views/Fragments/MvxFragment.cs#L128)

I've figured out the type of ViewModel via DataContext in non generic [MvxFragment](https://github.com/MvvmCross/MvvmCross/blob/330c6bd580db61ce2f84a9016f0eac290bd117c9/MvvmCross/Platforms/Android/Views/Fragments/MvxFragment.cs#L45). DataContext's type is MvxNullViewModel

### Expected behavior
No crash.
ViewModel's type is TViewModel of generic MvxFragment<TViewModel>

### Configuration

**Version:** 9.0.9

**Platform:** 
- [ ] :robot: Android