The inability to change password without a new master password is imho very good point, which renders these kind of systems unusable. I'm not sure how that issue could be fixed without resorting to a (centralized) database.
The new password is then
hash ( masterPassword . url . number )