Implemented basic screen swapping

Refactored main view such that it is effectively a container for child
views. The main view model's only concern is swapping child views in and
out (for instance, for a main launch menu to the main game view and
back).

Unsure whether the command binding on the buttons that do the swapping
is 100% kosher. They look to the parent view model to find the commands
to switch. I believe that this might work for this specific case, since
it's a child view, but might not be a good approach other times. I
believe the MVVM light library allows viewmodels to send "messages" to
each other to get them to invoke commands and whatnot cross-viewmodel.
Perhaps we should discuss the approach here for the future.

Note that the new viewmodels were created via TDD, and the UI was only
put in place once the tests and viewmodels were established.

This probably introduced 100% more cruft into the code that will
definitely need some cleanup.