Allow having multiple compiled DI containers

It is possible to have several containers compiled and used within one application under different class names.
However, auto generated factory classes are not namespaced and thus cause class-redeclaration fatal error.

This commit prefixes all factory classes with container name, making them unique and thus allowing to have several DI containers together.