Add two factory static functions to Injector: resolveAndCreate and fromResolvedBindings. We want to avoid resolution and flattening every time we create a new injector. This commit allows the user to cache resolved bindings and reuse them.
Or maybe expose my lack of understanding, we'll see!
Closes #750
Closes #710 Closes #747