cleanup: rename base -> baseUri; add base() that returns string

allow parse(Uri | String); allow canonical(Uri | String)
version bump