Deadlock occurs all the time if MvxAppStart.ApplicationStartup(...) has an await
## 🐛 Bug Report

MvxAppStart.ApplicationStartup(...) is a virtual method returning a Task. It means anyone can override the method and add any code, including asynchronous code.
There're 6 await keywords in the [MvxAppStart ](https://github.com/MvvmCross/MvvmCross/blob/bde315c52b61c84f1e1f0d7f913a1c14359e486b/MvvmCross/ViewModels/MvxAppStart.cs)and no .ConfigureAwait(false) to prevent deadlocks.
I don't see why .ConfigureAwait(false) must not be added to each method with await.
I come across this deadlock over time over and over again and it always takes time to investigate.

### Expected behavior
No deadlock occurs if asynchronous code with an await is added to ApplicationStartup(...)

### Reproduction steps

1. Add `await Task.Delay(1_000).ConfigureAwait(false)` or just `await Task.Delay(1_000)` to ApplicationStartup(...) to cause a deadlock.

Deadlock is caused by manually retrieving an awaiter and getting the result in
[StartAsync(hint).GetAwaiter().GetResult();](https://github.com/MvvmCross/MvvmCross/blob/bde315c52b61c84f1e1f0d7f913a1c14359e486b/MvvmCross/ViewModels/MvxAppStart.cs#L30)

### Configuration

**Version:** 9.0.2

**Platform:** 
- [ ] :iphone: iOS
