feat(router-view): make router location more robust

This feature ensures that a router is first checked for with a property
name of “router” on the view model. If it is not present, all
properties are inspected to find one of type “Router”. If none is found
then an error is thrown.