Extract `SelectInput` and `CheckboxInput`

Both are subclasses of `ArrayInput`. Now, `ArrayInput#fill` chains together
successive calls to `SelectInput#fill` and `CheckboxInput#fill`, finally failing
with an informative exception if neither inputs exist on the page.