RELEASES.md: make ImageJ 1.x version check a step

Rather than leaving the information about ImageJ 1.x versions at the top
where it might be missed, make it an explicit step (the first step) of
the ImageJ2 release process.
RELEASES.md: add IJ1 versioning convenience links

These links make it much easier to quickly verify that the version of
ImageJ 1.x referenced in ImageJ2's POM is indeed the latest one.
NewImage uses 0 for smallest axis specification

This undoes a recent change. The need for this change becomes apparent when
you add axes to the NewImage dialog (i.e. frequency and polarization and
etc.). Since we build images with no Z axis when it is specified as 1 we
should admit that 0 is a valid value.

While at it I significantly improved error checking throughout the plugin.
DefaultImageCanvas: remove unnecessary logic

No need to check for null context; all that really matters
is whether the eventService is null.
DefaultImageDisplay: initialize ImageCanvas lazily

This is needed because the DefaultImageDisplay constructor
does not yet have a context, and we will need to inject the
context into the ImageCanvas.
DefaultImageCanvas: inject application context

This fixes panning and zooming.

This should have done as part of the 'service-parameters' context
injection work (dd0cf68e6a517a07012036df0bffa24ab6790032).

Consequently, the ImageCanvas did not know the context and thus
could not publish events when e.g. pan and zoom operations occurred.
Merge branch 'fix-zoom'

This branch fixes panning and zooming, which has been broken since the
'service-parameters' merge (dd0cf68e6a517a07012036df0bffa24ab6790032).
WidgetModel: lean on MiscUtils.equal method
AbstractJHotDrawAdapter: compare objects safely

Previously, an NPE was thrown if the prior attribute value was null.