Teach IJ1Helper to add legacy-compatible commands to the menu bar

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
LegacyCompatibleCommands really *are* Commands

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Handle LegacyCompatibleCommands differently

Instead of making DefaultLegacyService an ActionListener, we now use the
interceptRunPlugIn() method to run the legacy-compatible commands.

This solves a couple of issues:

- it runs in headless mode, too

- it keeps DefaultLegacyService clean of ImageJ 1.x and AWT classes

- the way we do it now, we avoid instantiating the command classes when
  populating the menu structure (and thereby avoid the problem where
  some legacy-compatible command might require a service that has not been
  initialized at the time DefaultLegacyService is initialized; thank you
  so much, Jennis Jenkins!)

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Merge branch 'legacy-compatible-commands'

This topic branch restructures the way we handle legacy-compatible
commands such that they work also in headless mode (and such that the
initialization is quicker by avoiding to instantiate all of the command
classes).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>