Make sure form errors are surfaced to the session,
because the form is bounced and the errors can't appear next to the
controls.
Set the type of a FormControlText to "text" by default,
but allow the constructor to override.
Fixes habari/system#557 which was previously addressed in the old
FormUI in habari/system#273