AbstractInputHarvesterPlugin: harvest when visible

Previously, each input harvester would run only if its UI was the
default, regardless of whether that UI was actually being shown.
Unfortunately, this caused the Swing UI's input harvester to pop up even
without the Swing UI activated.

The new strategy is to show each input harvester if its associated UI is
visible/active. This will result in multiple harvester dialogs popping
when multiple simultaneous UIs are active, which is something that needs
further thought. However, this behavior should be an improvement over
the previous one for the more common situation of headless execution.
Rename TextFieldWidget to TextWidget

The name "TextFieldWidget" was inconsistent with all the other widgets:
none of the others hardcode assumptions about the exact sort of widget
into the interface name itself. E.g., ObjectWidget is not called
ObjectChooserWidget or ObjectDropdownWidget. Hence, it is better to use
the simpler name "TextWidget" which can be used for text fields but also
other possibilities such as text areas.
TextWidget: add styles for text areas & passwords