Checkbox

A checkbox with its label, and a third state for "some but not all".

The label lives in the component rather than in `Field`, because a checkbox
has its text to the right of it while an ordinary field has it above. A
`Field` around a *group* of boxes uses `as="fieldset"` and gives the group its
heading.

`indeterminate` is the third state, and it exists only as a DOM property —
there is no attribute for it, so it has to be set on the element. A checkbox
that looks empty while twelve rows are selected is actively misleading, which
is why [`DataGrid`](/components/datagrid) uses it for select-all.