adds optional onLeave parameter - callback to call when leaving a route
adds Router.createChild - create a new router with the current and specified prefixes joined together

this allows properly behaving prefixed routers to be created when it is
unknown whether you are dealing with the "root" router or an arbitrarily
prefixed one.