Fix fieldset width in Chrome and Firefox

Fixes an issue in Firefox [1] and Chrome [2]. The implicit width of
`fieldset` can be determined by the width of descendants rather than the
parent container. This change (adding `min-width:0`) makes the
`fieldset` behave like a `div` in this regard.

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=504622
[2] http://stackoverflow.com/questions/8084343/google-chrome-fieldset-overflow-bug

Close #272
Fix `font` and `color` inheritance for forms

Inherit all `font` properties.

Inherit `color` for form controls. Chrome and Safari on OS X will not
inherit `color` as they heavily restrict the author-defined styles that
will be respected for that element.

Fix gh-157
Set correct display for `progress` in IE 8/9

Set to `inline-block` to match default value in modern browsers.

Fix #253
Close #254
Remove default table cell padding

Normalize.css makes some convenience changes to the default table
rendering. This change removes the 1px of padding around table cells.
Normalize `optgroup`

Address Firefox not inheriting `font` properties for `optgroup`.

Fix gh-102
Fix `optgroup` normalization and add test

Ref gh-102
Fix `figure` margin normalization

All browsers that support `figure` apply margin of `1em 40px`.

Fix gh-262
Remove `a:focus` outline normalization

My hypothesis is that it's more important for a user to get the focus
style they expect *within* their browser than it is to have consistent focus
styles *between* browsers. In particular, replacing Chrome's default focus
style (esp. just for links) seems presumptuous.

Component designers/developers can make the decision on when to modify
these browser defaults.

Fix gh-216
Fix number input button cursor on OS X Chrome

Fix the cursor style for Chrome's increment/decrement buttons on
`input[type="number"]. For certain `font-size` values of the `input`, it
causes the cursor style of the decrement button to change from `default`
to `text`.

Fix gh-283
Revert `textarea` alignment modification

Leave the default baseline alignment in place.

Fix gh-280
Fix rendering of test file on mobile
Address `button` overflow in IE 8/9/10
Change indentation: 4 -> 2 spaces
Fix vertical alignment of `progress`

Chrome, Firefox, and Opera set `vertical-align: -0.2em`. The browser
implementations aren't great. They scale badly with font size and when
the height of the element is changed. Aligning them to the baseline, as
IE does, helps make their alignment consistent with other similar
elements.
Fix `pre` text formatting and overflow

Don't visually break `pre` text over multiple lines.

Trigger a scrollbar when the preformatted text is too wide for its
container.
Fix i18n for `q` element

Don't attempt to normalize `q` because it prevents the browser from
automatically adapting the quotes used based on the value of a `lang`
attribute.
Revert 6992935807a5ed7ec60fb97e3f9fd02cc102a110

Doesn't work in Firefox.
Reorganise normalize.css and edit comments

Update comments in line with any changes browsers have introduced.

Minor reordering of rulesets.
Explicit tests for each normalization

Use a test-like presentation to make it clearer what the test file is
looking to test. Don't use the file as a dumping ground for every HTML
element. This change makes the tests more focused and useful.

Fix gh-276
Fix gh-284
Fix gh-285
Update browser support