Tweak injector factory function parameters and scope

**NOTE**: This commit reverts breaking API changes from the earlier
commit related to the Injector API.

* 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.
Merge pull request #87 from superstructor/feature/35-r3

Tweak injector factory function parameters and scope
Ported Deft.util.Function specs from Jasmine to Mocha