Add widget demo tutorial

It was adapted from the ParameterTester debugging plugin, with many
comments and explanations added to make it tutorial-worthy.
WidgetDemo: fix copyright
WidgetDemo: update StatusService package to latest
Use latest version of pom-scijava

Among other things, this version specifies a release version (rather
than a SNAPSHOT) for the scijava-common dependency.

This may not matter directly for these tutorials, since for simplicity,
they inherit the scijava-common dependency transitively, despite making
use of org.scijava classes directly.

However, I think it is still better to use the newest available
pom-scijava, so that when people copy and paste these POMs (which is
expected since they are tutorial code), they start from the newest
available version.
Use imagej.net domain name for ImageJ list URLs

This is slightly more convenient and future-proof than the
imagej.nih.gov/ij prefix.
Add tutorial example for working with modules

This tutorial is based on some code I wrote quite some time ago to
demonstrate these ideas to the Alida developers:

    https://gist.github.com/ctrueden/3947498
WorkingWithModules: clarify modules vs. commands

The fact that ImageJ has both "modules" and "commands" is intuitively
quite confusing, so I wrote some words explaining the difference, and
why you should prefer working with modules in general instead of
commands only.
Add tutorial example for adding a new plugin type

This simple example shows how to define an "animal" plugin, and
corresponding animal service, with a reasonable amount of commentary
on both how it works and the benefits of doing things this way.
CreateANewPluginType: add a couple of side notes

These notes briefly discuss the Contextual and Prioritized interfaces,
and why one might want to implement them in addition to ImageJPlugin.
Bump to pom-scijava 1.38

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
CreateANewPluginType: use new PTService layer

This layer is (hopefully) slightly easier to use and understand, since
you can just call "getPlugins()" for the list of PluginInfos of the
appropriate type, rather than needing to invoke the PluginService
directly.

This change results in a net loss of two lines of code! Wow!!
AddTwoDatasets: update SCIFIO import

ImageJ now uses the new SCIFIO API, which uses a different base package.
Update to latest pom-scijava

This makes all dependencies pinned to release versions now, for build
reproducibility and stability.
Add an example demonstrating how to use ROIs

This example works, but please note that the ROI/overlay API is one of
the least stable toplevel APIs of ImageJ2 at the moment, and is very
much subject to change in future betas.
Add example showing how to subscribe to events
Add a simple 'Hello, World' plugin

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Put the Hello World plugin into a menu

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Add a main() method to the Hello World plugin for debugging

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Document the Hello World plugin

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Update the .factorypath files to match pom-scijava

We use a dirty little trick in .factorypath: we use the sezpoz .jar
that Eclipse's Maven plugin had to download to configure the Maven
projects properly. However, with the upgrade to a new SciJava POM,
the sezpoz version changed. As a result, the old .factorypath versions
did not work for users who never had an old version of the SciJava
POM and hence never downloaded sezpoz 1.9.

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