translator: translator implements filter
translator: added factory for accessing subclasses

Currently the factory also defines how translators are linked to
sources. It might make sense to move this info to a more centralized
place at some point, along with all other information about a source.
data: removed visitor pattern from sources

Visitor pattern is great with a fixed set of elements, bad when trying
to add more dynamically.
data: moved DummyDataSource to data/sources
main: fixed minor translator mixup