Force hover leave on new mouseenter. Fixes #63 and #64.

We've had some terrible problems with the hover plugin getting locked up and never initiating new hover events. This is really bad for our app because some critical controls only show on hover. THe only way to get them back was to reload the page. So we came up with a failsafe behavior.

If the mouse has entered a new element, this change forces the hoverleave event to fire on the previously hovered element (after the correct hover leave time), even if no mouseleave event fires.

The mouseleave event will not fire if the element is removed while hovered and possibly in other circumstances.