[discretizations] make visualizers classes
[discretizations] move common functionality to interface
[core] remove duplicate logging defaults

defaults are set in core.defaults
[core.logger] bugfix
[core.interfaces] add disable_logging() to BasicInterface
[discretizations] remove obsolete disable_logging()
[reductors] remove visualizer when reducing
[core.interfaces] preserve logging state in _with_via_init()
[discretizations] make estimators classes
[discretizations] allow to specify caching in __init__
[discretizations] explicitly check if logging is disabled

This can improve a greedy run on a large parameter sets quite a bit.