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.
The same for boolean attributes. Can't we simply say that any `attribute: true` will be printed as `attribute="attribute"`? If you want something to be printed as true, pass a string? I am very wary of special cases because it means we need to update the list (possibly inserting backwards incompatible changes) every time someone updates the HTML 5 spec (which is still in development).