Visibility of internal classes

Removed Guice module classes and replaced them with inline creation of modules with a new ModuleFactory class. This way we can reduce code and are able to reduce public classes for users.

For some of the cdi classes I was able to reduce the visibility too. 
I think that there are no more possibilities to reduce visibility for other classes. The only way to acive this would be to put "all" internal classes into a single package. In my opinion this wouldn't be a good solution.