Implement basic form control support

So far the changes to layout seem fairly well-contained; I think this is worth integrating to give us a browser that is easier to dogfood (and allows us to work on things like form submission much easier), especially since the long-term viability of WebComponents-as-forms is not assured.
Doesn't look like most of these are strictly needed at the moment. Can we use `GenericFragment` instead for `InputCheckbox` and `InputRadioButton` and collapse the `InputButton`/`InputText`/`InputFile` down into one?