SwingImageDisplayViewer: dispose of imgCanvas

The AbstractSwingImageDisplayViewer was doing nothing to dispose of its
JHotDrawImageCanvas. This could prevent termination by holding onto
references to SCIFIOCellImgs.

It seems safer to clear the canvas on a dispose() call.
SwingImageDisplayViewer: document dispose override

Add a comment explaining why dispose() is overridden to clear the
imgCanvas, and how it relates to limitations of deeper software
overriding finalize.
Merge branch 'dispose-canvas'

This branch fixes a bug preventing ImageJ from shutting down when a
SCIFIO cell image (i.e., virtual image) was still open.

Thanks to Mark Hiner for the fix!