Injector Factory

* Allows specifying a factory to use when creating a service.
* Allows injecting `Config` as a service.
* When adding extensions, does not un-register all classes.