"inflate" option for type constraint definitions

This allows type constraint definitions more control over how they are inflated to Moose type constraint metaobjects.

**inflate => 1** - the default, and the behaviour of current releases; looks up the type by name in the Moose type constraint registry.

**inflate => 0** - force Moo's default behaviour; create a new anonymous type constraint using the validation coderef

**inflate => sub { ... }** - custom code to build a type constraint metaobject

This fixes RT#82098. I've previously written a solution for RT#82098 as part of Moo, but mst says that the solution better belongs in MooX-Types-MooseLike, so this is that solution. (Upon consideration, I think I favour the belt-and-braces approach - both!)