Code cleanup, edited tests, and updated benchmarks

inject should be passed in when bind is called, i.e. bind(toFactory, inject, ...) as shown below. This just specifies the typeFactories format.