New GridLayout. Change cursor behavior (hide on unfocus event). Change resize event to propagate through containers. Change container clipping - allowlayout=false children are clipped without borders. More Widget doc.
Focus
=====
Only one widget can have focus at the time.
Top widget has link to currently focused widget in 'focuswidget'.
Events emitted on change: focus, unfocus
mousedown - focus widget under mouse
tab - focus next child in container (depends on canfocus())
shift-tab - previous child
hide() -> unfocus
tab/shift-tab into / out off containers?
widget.hasfocus()