Abstract MainWindowViewModel from ShellViewModel

Shell is now a property on IWindow. This will allow for easily switching
out the default Window implementation with, say, a MetroWindow.
Add Metro module (uses MahApps.Metro MetroWindow)