public class MouseHoverSupport
Support to fire events if the mouse pointer hovers over a Component
for a certain duration.
The pointer doesn't have to remain completely still to prompt the firing
of a mouseHover MouseEvent, just fairly steady to cater for hand shake.
The hovering timer will begin as the mouse moves inside the component, the timer
will restart if the mouse moves too far from the original hover point.
Once the event has fired, the hovering timer will restart again once the mouse
pointer is moved within the component.
The timer will stop if the pointer leaves the component bounds.