Tweak injector factory function parameters and scope

As discussed changes to #35. All tests passing.

* Modified the factory functions to be executed in the Deft.Injector
  scope.
* The target instance is always passed as the first parameter to factory
  functions.
* When called on an instance during construction in coordination with
  automatic injection by Deft.mixin.Injectable - the constructor
  arguments are passed as additional parameters to factory functions.