ref #40113
Moves a lot of the "model" logic out of `ShellPage.xaml.cs` into
`ShellViewModel`.
The LARGE majority of this code is copy-paste moving code. We're now
using a couple more messages to pass navigation between the VM and the
page. And a couple new messages for passing ETW events.