Create WGroup class.

Initial step: move widget list of dialog into WGroup class.
Inherit WGroup from Widget. Inherit WDialog from WGroup.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Add WGroup API:

  * group_set_current_next;
  * group_set_current_prev;
  * group_get_next_of;
  * group_get_prev_of.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
WGroup API: move add/delete widgets API from dialog to group.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
(wid_t): new type for widget ID.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
WGroup API: group_send_broadcast_msg.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
WGroup API: init/deinit group.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Reimplement find widget functions to support groups.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
(widget_is_active): reimplement to support groups

...and related changes.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
W_TOP_SELECT: new widget option to place widget on top of other widgets in group.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Join widget_state_t and dlg_state_t.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Start reimplementation of widget selection.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Add WIDGET_STATE_ACTIVE state

...and use it in menu.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Add set_state() API for WGroup class to handle WIDGET_STATE_ACTIVE state.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
(menubar_new): add 3rd 'visible' argument.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
WIDGET_STATE_FOCUSED: new state and it handling.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>