remove UI::Widget::m_layer and associated state management
don't check for mouse position when handling MouseOver/MouseOut events

It is possible for the mouse to leave a widget without leaving the widget's
2D screen bounds, because layers add a third dimension.
Merge remote-tracking branch 'johnbartholomew/ui-layers'