Form Helper

This is a WIP, please feel free to comment or suggest changes. An end goal for
me to is have something like
[SimpleForm](https://github.com/plataformatec/simple_form/) so hopefully
@josevalim will have some thoughts.

This will also rely heavily on the `Resource` protocol discussed in #320.
This is always calculating `input_name/2` even if we don't use it. We also probably want to cache the `input_name` prefix in the FormBuilder as it is somewhat expensive to calculate.