Add ImageDisplayEvent subclass of DisplayEvent

This is an abstract event layer for events that only work with
ImageDisplays, as opposed to Displays in general. It type narrows the
getDisplay() method to return an ImageDisplay always.

It also isolates ImageDisplay-specific events into a subtree of the
event hierarchy.
Improve linkages in event class javadoc
Add missing section headers to event classes
LutsChangedEvent: tweak style
Add AxisEvent subclass of ImageDisplayEvent

This is an abstract event layer for events specific to a particular
dimensional axis of a particular ImageDisplay.

This change also makes AxisPositionEvent into a concrete subclass of
AxisEvent.
Fire an AxisActivatedEvent upon active axis change
Merge branch 'event-cleanup'

This branch improves the event hierarchy in various ways, adding new
layers as appropriate, as well as a few new event types.