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.
Also, it feels like you want to merge `opts` or into the `defaults` or into `attrs`, at this moment it is not passed forward.