Allow widgets to render multiple <input/>

You can't put multiple <input/> with labels inside a <label/>, and
probably want to handle this case differently in your renderer, so
single-element returns will be treated differently than multi-element by
many renderers.
More robust wrappers

The wrappers have all the instances they wrap now, so that they can be
used directly by helpers.

This allows for a new `enum` combinator that feeds any collection
widget with the derived collection.
radio_buttons
`humanize` derived labels