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)
Add Width and Height properties to MainWindowViewModel.

Implements #19.
Use Metro AvalonDock theme for Metro module
Propagate close notifications from window to shell
Remove unnecessary ActivateDocument method
Update changelog ready for v0.4.0 release
Tools are now activated properly when opened programmatically

Fixes #21
Update changelog
Add a bit more to the metro demo
Add Metro module nuspec
Upgrade NuGet to v2.7
Merge remote-tracking branch 'upstream/master'