Add `main` element to HTML5 display definitions

The HTML Working Draft has added `main` as a new element.
Update CHANGELOG
Remove unnecessary `pre` styles

`word-wrap: break-word` was only needed for IE 6/7, and `white-space:
pre` is the default for all supported browsers.

Fix gh-159
Add `hr` test
Normalize `hr`

Firefox uses different `box-sizing` and `height` values to all other
browsers. Firefox doesn't currently support `box-sizing` without the
`-moz-` prefix, so we use both the vendor-prefixed and unprefixed
properties to ensure that it matches the `content-box` value of other
browsers. It also requires the `height` to be set to `0`.

Fix gh-133
Update CHANGELOG
Normalize `h1` margin

Chrome, Safari, and Firefox all adjust the margin of `h1` at several
levels of nesting within HTML5 sectioning elements. This change ensures
that the margin, like the font-size, does not vary in these contexts.

Fix gh-160
Normalize form element `text-transform`

By default, browsers set `text-transform:none` on most form controls in
order to prevent `text-transform` being inherited from ancestor nodes.

However, the `button` and `select` elements are exceptions.

* Firefox and Opera do not apply `text-transform:none` to `select`.

* Chrome, Safari, and IE 8+ do not apply `text-transform:none` to
  `button.

It's not suitable to set `text-transform:inherit` because all other form
elements intentionally avoid it. Safari will not honour that style for
`select`, and Chrome will only do so when the `select` element is
clicked.

Further details:
http://tjvantoll.com/2012/07/10/default-browser-handling-of-the-css-text-transform-property/
Update CHANGELOG
Update README acknowledgements
v2.1.0
Add "main" to component.json as required by Bower