The best description for the role of this component I can come up with is:

Random utilities for building UIs.

... that's kind of sad, since I like components that are focused on specific
purposes, but there always seems to be one of these gathering places in a
project and this is it. Specifically, code seems to be added here because it's
needed by more than one toplevel directory.

Over time, we should shrink this component and move focused, related items out
into separate components under src/ui (see previous examples in ui/gfx and
ui/events).

