bump Moo dep to 1.004003 for proper stringifcation (haarg++)
Factory: don't use Moo::Object as default base

 * per haarg: Moo::Object is undocumented as part of the Moo API and
   shouldn't be relied upon.  Instead, only run the extends if the user
   overrides base_class.
Factory is never instantiated, no need to use Moo