Return a Visualizer from constructors

...use the abstract interface rather than a private type in
visualization-generator constructors so we can do nice things to
reduce source redundancy in calling code.