This module provides some automatic layout functionality for widgets.
The parameters are similar to those that you may have encountered
in HTML, but do not fully recreate the layout model.
The WidgetId uniquely describes an instance of a widget.
Creating a new WidgetId generates a new unique identifier which can
be safely copied and moved around; each copy refers to the same widget.
The intent is that you set up the identifiers once and re-use them,
rather than generating new ids on each iteration of the UI loop so that
the widget state is maintained correctly by the Ui.