Puts responsibility of hover/focus handling in Window.
Moves logic of pointer interaction with Window to Interface::Window.

I needed to add a childAt method which yields the child Window at the
given local point of the Window instance it is called upon.

Motion events are propagated as well and trigger enter/leave events as
necessary. I can now add focus events and motion events.
Passes Interface::Window to event functions.