Improve circular dependencies resolution.

TODO: More complex setups cause infinite recursion.

Related to #25.

This is the small fix I talked about, but while it fixes the test and creates a good object graph, when I tried with a little more complex object graph, some other part of Typhoon start breaking down.

I have done a little test, and it also works for singleton scoped objects.