Add ControlHoveredEvent and onHovered

This event is fired when the mouse hovers or stops hovering over a x, y
coordinate within the bounds of the control. Pressed keyboard keys are
available to give more control to the addon developer and do neat stuff
with hovering.

Hovering is only fired once for hovering a x, y and for leaving. If the
mouse doesn't move a render tick, hover won't be fired till it moves again

Signed-off-by: Chris Sanders <zidane@outlook.com>