allow Type::Parser/Type::Registry to load MouseX::Types libraries
add some extra methods to Type::Registry for creating unions, intersections, etc - this allows a form of dependency injection for Type::Parser
oops; forgot to return the type