Add [Reflect=custom_content_attribute] support

Closes #11. And indeed, if you try to use dashes, the WebIDL parser chokes (it only allows identifiers in that position), so we had to use underscores and convert to dashes, just like Blink does.