Cloudflare having issues, switch to pinata
We can still proceed with no form, just don't send a form
Validate presence of required fields
DRY up common patterns for fields
Refactor to bind to an Item container, not just a raw Element

Gets rid of the Column extends Element hack and paves the way for error messages
and other things.
Use more features of the TextInputLayout
Support more text field types
Support reported/item tables

Right now renders using a GridLayout which means all columns are the same width.
No horizontal scrolling or becoming not-a-table for many columns, so big tables
will be a disaster.  Does render and work though.

The strategy here is to actually make each cell an "item" in the RecyclerView
instead of each row being an item.  Then the layout manager takes care of it.
This means that the end-of-row-ness is just because of column count, and not
actually enforced at all.  It also means that as currently built if any row has
a missing field it'll mess up the whole thing.

No type directed rendering or anything yet, just dump it out.
Allow copying result form fields to clipboard
If we get send a form of type submit or cancel, ignore it

These don't make any sense to send to us, but in practise biboumi does and
expects us to ignore it.
Default action if there are none

Spec says that actions must be specified if there are any.  In practise, at
least biboumi violates this and sends back no actions at all but is in
"executing" state meaning it expects a next stage.  So in this case we should do
something smarter than assuming we're all done.  Put up a button for the
execute/default action.
Instruction spacing
Fix snackbar position
Hide pager when there are no commands

And really hide it, even swipe should not work to get to the blank page
Only setup the command pager when not already set up

Otherwise it gets confused and blanks itself out.
Use radio buttons + EditText for list-single + open
Use radio buttons when there is no existing value
Default to a spinner for list-single