* add _init callback for all widgets, which is used for base widget
initialization. see comment in Widget:new(o) for more information.
* new ges_events and key_events are created for each InputContainer
widget, previously, they shared the same tables.
* remove hardcoded menu widget dimen
* recalculate menu dimen on table item changes
* add CloseAllMenus for menu widget
a bit of cleanup, switched width/height combo over to use
Geom() objects, moved framebuffer handling to Screen object,
callback syntax sanitizing, lots of small changes