UI layers

After merging #2475 and updating newui-settings-2 to use it, @robn and I noticed a couple of things. It's not actually necessary for widgets to know what layer they're on, so that state and its (slightly tricky) management has been removed. With layers it's possible for the mouse to leave a widget by moving in the third dimension (or something), so it's screen coordinates are still within the widget's bounds but the mouse isn't "over" the widget any more; mouse-over and mouse-out handling have been updated to reflect this.