Refactoring. Add ImmutablePoint.
LayoutManager
VerticalLayout
HorizontalLayout
TileLayout
events:
draw()
- caller
on_draw()
- core handler, for overloading
connect('draw', my_draw)
- additional handler
Focus
-----
* only one node in hierarchy can have focus
* all parent containers have focus, so they can relay events to child
* top container has always focus
* grab_focus() on any node will clean old focus and set focus to this child
* global shortcuts can be handled in keypress handler of top widget