Make disabled state inheritable

Introduce ItemWidget and GroupWidget, which together with some small
changes in GroupElement and Widget make it possible for the disabled
state of a widget to be inherited. This is used in Select and Option
widgets to allow either disabling particular options, or disabling the
entire control.

Demo has been updated to exercise these changes.

Also made it consistent that when a widget is disabled, we use the
default cursor, and removed a no longer valid example from the demo.

Change-Id: I02b933d1d51d10aa4fbd2e7ab3ba3e71d260a2f1