Add support for externally registered factories

Useful when you can't, or don't want to modify the
classes you're hydrating.