Instance building for Func<,>

This allows to cover scenarios where object **A** builds object **B** from the Container while **B** has a dependency on **A**. In this case A's ctor should look like

    ctor(Func<A,B> f) {
      MyB = f(this);
    }

The func essentially translates to `container.With<A>(arg).GetInstance<B>()`