Performance improvement

See the commit comments for explanations.

The deeper the injector hierarchy the greater the gain !

For this to work, `_types` should remain unchanged (we assume parents `_types` will not change after `_registerBindings` has been called - which is the case now). Then what do you think of turning `_types` into an immutable set, the code would then break if someone try to modify the `_types` after they have been initialized.

I can take care of this in a further commit if you agree.