Better handle sprite's "exists" and "visible" property.

When the sprite's "exists" or "visible" property is set to false while it is still below the mouse, the mouseOut handler will be called. (Line 351)

Invisible sprites (visible == false) no longer triggers the mouseOver handler. (Line 318)