Marking Router#url a property continued

As per @wagenet's suggestion we use propertyWillChange and
propertyDidChange to notify observers of the change in url.

In order to ensure that the location returns the correct url the
router has to set the location's url when using handleURL.