InputWidget: use simpler imagej.widget package

This is less horrible to read than "imagej.ext.module.ui" and also less
confusing since the "ui" implies something to do with the ij-ui
hierarchy, which is not the case here.

Rather, InputWidget is merely one type of ImageJ plugin, similar to
Service in imagej.service or Platform in imagej.platform.
Merge ij-ext-swing into ij-ui-swing-base

This change is part of an ongoing effort to simplify the ImageJ
component structure to make it easier to understand.

The difference between ij-ext-swing and ij-ui-swing-base is that the
former provided Swing implementations of interfaces from ij-core, while
the latter provided Swing implementations of interfaces from ij-ui.
Hence, the main downside of the merger is that ij-ui is now a required
dependency just to use the Swing widgets. But I think it is worth it so
that more Swing code is located in a single JAR file.
SwingUtils: move to ij-util-swing component

These are general-purpose utilities and really have nothing to do with
the Swing InputWidgets specifically.
Merge ij-ext-swt into ij-ui-swt

This change is part of an ongoing effort to simplify the ImageJ
component structure to make it easier to understand.

The difference between ij-ext-swt and ij-ui-swt is that the former
provided SWT implementations of interfaces from ij-core, while the
latter provided SWT implementations of interfaces from ij-ui. Hence, the
main downside of the merger is that ij-ui is now a required dependency
just to use the SWT widgets. But I think it is worth it so that all SWT
code is located in a single JAR file.
Merge ij-ext-pivot into ij-ui-pivot

This change is part of an ongoing effort to simplify the ImageJ
component structure to make it easier to understand.

The difference between ij-ext-pivot and ij-ui-pivot is that the former
provided Pivot implementations of interfaces from ij-core, while the
latter provided Pivot implementations of interfaces from ij-ui. Hence,
the main downside of the merger is that ij-ui is now a required
dependency just to use the Pivot widgets. But I think it is worth it so
that all Pivot code is located in a single JAR file.
Merge ij-ext-awt into ij-ui-awt

This change is part of an ongoing effort to simplify the ImageJ
component structure to make it easier to understand.

The difference between ij-ext-awt and ij-ui-awt is that the former
provided AWT implementations of interfaces from ij-core, while the
latter provided AWT implementations of interfaces from ij-ui. Hence, the
main downside of the merger is that ij-ui is now a required dependency
just to use the AWT widgets. But I think it is worth it so that more AWT
code is located in a single JAR file.
Clarify ij-ui-common-awt, ij-util-awt & ij-util-swing

These respective projects' descriptions now go into more detail about
the purpose of each component. There is still some murkiness surrounding
the fact that ij-util-awt depends on ij-core, though.
Merge Swing SDI and MDI user interface components

This combines ij-ui-swing-sdi and ij-ui-swing-mdi components into
ij-ui-swing (formerly ij-ui-swing-base). The rationale is that there
were a large number of confusing Swing-related components. The number is
still rather high, but at least bundling SDI and MDI together into a
single "Swing UI" component is simpler than before.

The tricky part will be controlling under what conditions the SDI vs.
MDI UI gets instantiated and used when UIService#createUI() is called.
The plan is for the MDI interface to have lower priority than the SDI
one, so by default the SDI interface appears. But there will need to be
a mechanism to explicitly specify which UI gets used.
Make UserInterface plugins contextual
Add new SortablePlugin convenience base class

A SortablePlugin is a Contextual, Prioritized IPlugin. It provides a
basic framework for creating new types of plugins that meet these
criteria.
Make UserInterface plugins prioritized
Return unmodifiable list of available UIs
Make DisplayViewers contextual and prioritized
Make SwingMdiUI a lower priority than SwingSdiUI

This ensures that the default Swing UI is the SDI one.
Make Tools prioritized

They already were, via their attached PluginInfo, but now their priority
can be queried directly via the Prioritized API contract.
Make Displays prioritized