AbstractInputHarvester: fix unsafe widget cast

We now explicitly check if the widget is the right type before using it.

In practice, the AbstractInputPanel#supports(InputWidget) method already
checked this, so it should never be the case that an incompatible
widget is returned by WidgetService#create(WidgetModel). But there is no
guarantee that all downstream code is using the abstract superclasses,
so let's check again -- better safe than sorry here.
CommandServiceTest: simplify CommandService call

The more complex syntax was a holdover from when there were deprecated
methods polluting the API. They are gone now, so we can use the simpler
varargs syntax.
AbstractDisplayViewer: remove irrelevant code

This logic belongs in the next layer down: AbstractImageDisplayViewer.