Form Helper

This is a WIP spike, 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.
I don't like hard-coding those values here. It is not the responsibility of the tag function to handle some special attributes. The tag function should be the most basic, low-level function, for generating tags.