dasherize camelCased element attributes

As the title says, this patch turns camelCasedAttributes into dashed-attributes.

I think it's a worthwhile change because

* `@div dataMultiWordAttribute: …` looks nicer (and is easier to type IMO) than `@div 'data-multi-word-attribute': …`
* HTML attributes are not case sensitive, so it shouldn't break anything.
*  it doesn't add any new dependencies because underscore-plus was already being used elsewhere in the source.
*  jQuery itself applies the same transformation (and its reverse) in many places, including CSS properties and data attributes.