Tweak factory function parameters and scope

* Modify the factory functions to be executed in the instance scope
(instead of passing the instance as the first parameter).
* When called in coordination with automatic injection by
Deft.mixin.Injectable - the constructor arguments should passed as
parameters.
* When called on an already instantiated instance the initial config
should be passed as parameter