Unittest app dependency

Another approach on issue #199.

Make unit tests responsible for creating app instance if they require one.

Also introduce a unit test param that defines which application class should be used for the unit tests. This way, we can quickly validate that the components not only work with one special application implementation.

Not yet happy with that param approach, because it requires us to hack the config and run tests twice. But didn't find a solution to automate that yet.