WIP

AppEventService has methods about(), prefs() and quit(). These should be
methods of each App, because each App may want to handle them
differently.

This avoids a cascade/domino problem where AppEventService is a
SciJavaService, but individual apps like ImageJ2 override behavior with
e.g. LegacyAppEventService which pulls in lots of IJ2 dependencies into
a "SciJava-only" context.

By making it handled at the plugin level, we avoid the issue because
those plugins simply fail to initialize as desired when the required
services are unavailable to the context.

See also:
https://github.com/imagej/imagej-legacy/compare/app-cascade