Allow specifying Generator implementation.

1. Extract `ClassGenerator` interface.
2. Put all Generator parameters into newly created `GeneratorConfig` and constructor inject into ClassGenerator implementation.
3. Add `generatorClass` parameter into `GeneratorMojo`.