Hidden field

This adds a new abstract base class `AbstractHideableFormField`, subclassing `AbstractFormField`.

It has an extra field `is_hidden`, with some validation to prevent silly combinations (such as being set to hidden and required, but with no default value).

Then in `wagtailforms.forms.FormBuilder.formfields` there's a new check for the `is_hidden` attribute, which will cause the widget to be `HiddenInput`, rather than the default.