Fix edge case: disappearing target 

**Scenario**
`options.mouseOnToPopup` is set and the mouse is moved on top of the tooltip. Then the `session.activeHover` element is removed from the DOM using `$(session.activeHover).remove()` or similar which strips the element of its data.

**Problem**
The `mouseenter` and `mouseleave` handlers on the tooltip assume the existence of a `displayController` in `session.activeHover`'s data. 

**Solution**
Do nothing in the handlers if `displayController` is missing, and make sure that `closeDesyncedTip` will clean the tip up at some point.

I also added an example of this in `edge-cases.html`