router: add `prepend_base_url`; remove handling from template scope

This updates the router to provide a method for manually prepending
the base url to any given url path.  This also switches the routers
internal handling to now use this method.

Also, the router handling is removed from the template scope.  With
the `prepend_base_url` method, there should be no need to expose
router logic directly in the scope.

This is all prep for moving away from Sinatra for template rendering.
Not all template engines will want to use a pre-defined scope so the
scope is being deprecated.