Route setup should check for controllers

As controllers are often proxying models, it is possible a controller
has been passed to a route through `linkTo`. We should then use the actual
controller's content instead.