Reimplement IJ1 features that the legacy layer cannot support

Description

For a variety of reasons, IJ has some functions that cannot be supported via the legacy layer. In particular, highly UI-interactive plugins (such as the Shadows Demo; see ticket #647) may be infeasible to support. Fortunately, these sorts of plugins are also unlikely to be part of automated macro and script workflows. So we should be able to provide backwards compatibility by reimplementing them in the IJ2 framework instead.

We are no longer supporting use of ImageJ 1.x commands from modern ImageJ2 UIs. These plugins work fine in the legacy ImageJ 1.x UI, and adding them to ImageJ2 is not urgent.

Of course, we would love to have all of this functionality available as "pure IJ2" commands, so that they are usable headless and from the variety of contexts IJ2 makes possible: e.g., CellProfiler, OMERO and KNIME. But in practice, most of these commands are interactive in some way and will need to be reconsidered and recast into the headless paradigm (i.e., parameterized inputs and outputs). We will tackle this work on an as-needed basis, with help from the community over a course of years. But first the ImageJ2 core needs further stabilization. So the goal of porting IJ1 plugins to IJ2 is, in general, on pause for the time being.

Also worth noting that in many (most?) cases, we will want to make image processing functionality available as ImageJ OPSOp plugins, rather than vanilla SJC Commands, to maximize their usability and interoperability.