Implement dynamic di

This is an initial implementation of DI.

Please review only the second commit. The first commit will be gone once #45 is merged.

Hmm, so there is no such thing as Module or a list of Bindings. Interesting. Need to sleep on that.