To define a new URI type:
- Define scheme as static readonly property (must pass Util.IsValidScheme, i.e., lowercase).
- Inherit "ComparableBase, IURI", using normalizing components.
- Override ToString.
- Provide stronger-typed Resolve.
- Define Factory.
- Static methods: Register, Parse.