UI: allow clipping of content rendered by children
UI: widget: allow detailed flags for invalidate()
UI: widget: remove unused variable
UI: widget: evaluate clipped_allocation to determine drawable()
UI: use clipped allocation for point() and all rendering functions
UI: allow focus grabs of widgets regardless of their size allocation
UI: widget: use only test_all_flags or test_any_flag for widget flag tests
UI: cosmetics
UI: use has_visible_child to decide on a child's size requsition/allocation
UI: the main widget state concepts are: ANCHORED, VISIBLE, SENSITIVE, VIEWABLE
UI: widget: make widget drawable if it is viewable and has non-0 clipped_allocation
UI: container: allow flagging of children as UNVIEWABLE
UI: dispatch key events only to sensitive focus widgets
UI: speed up dynamic_casts with as_window_impl, as_container_impl
UI: widget.hh: work around doxygen getting confused by includes with comments
UI: document widget states
Merge branch 'widget-states'

* widget-states:
  UI: document widget states
  UI: widget.hh: work around doxygen getting confused by includes with comments
  UI: speed up dynamic_casts with as_window_impl, as_container_impl
  UI: dispatch key events only to sensitive focus widgets
  UI: container: allow flagging of children as UNVIEWABLE
  UI: widget: make widget drawable if it is viewable and has non-0 clipped_allocation
  UI: the main widget state concepts are: ANCHORED, VISIBLE, SENSITIVE, VIEWABLE
  UI: use has_visible_child to decide on a child's size requsition/allocation
  UI: cosmetics
  UI: widget: use only test_all_flags or test_any_flag for widget flag tests
  UI: allow focus grabs of widgets regardless of their size allocation
  UI: use clipped allocation for point() and all rendering functions
  UI: widget: evaluate clipped_allocation to determine drawable()
  UI: widget: remove unused variable
  UI: widget: allow detailed flags for invalidate()
  UI: allow clipping of content rendered by children