Add support for selecting HTML5 inputs, change criterion to a blacklist

This is designed to address several issues:

* `<input type="range" />` elements don't respond well to the simulated
click; they always reset their value to the minimum.
* The lack of `mouseup` event from the simulated click makes
`<input type="range />` elements slide when the mouse is moved.
* HTML5 adds a large number of text-based `<input>`s that should be focused
like the `type="text"` case, for consistency. (Using a blacklist halves
the number of types we have to list.)
* An `<input>` with a `type` the browser doesn't support is rendered as
a `type="text"`, so a blacklist ensures that the focusing action is
consistent on all elements behaving as `type="text"`.
Options; reworked, with fixed footer.

Changes:
   - Added caption "Miscellaneous toggles" to visually separate the
     link-hints checkbox from the others.
   - Made the text for the two link-hint character sets the same.
   - The "Show advanced options" link now spans two columns, so it does
     not affect its column's width, so the layout doesn't change when
     the options below the fold are expanded.
   - Added a fixed footer containing the help text and the save button.
   - The text of the save button now changes when it is enabled.
     (I sometimes find it hard to tell whether its been activated or
     not.)
   - Control-Enter anywhere on the page saves all options.
   - Aligned the entire options table left, instead of centered.  This
     is the chrome style.  However, it also makes it easier to get the
     alignment right between main table and the footer.
   - Change width of main wrapper such that it actually matches the
     table's width.  This aligns the right edge of the bar under the
     title with the right edge of the second column of the table.
Options; Exclusion headers, style fiddles.
Options; Ctrl-Enter blurs active element.
Options; use consistent capitalization.
Options; add help text for scrollStepSize.

No help is really needed.  However, the gap where the help text should
be looks ugly.
Clear all keydown events that correspond to a keyup event
Options; restyle exclusion rules.
Options; release focus on clicking advanced.

When the show/hide advanced options link is clicked, it gains the focus,
and the URL is displayed by chrome in the bottom-left corder of the
window.  This partially obscures the footer, so we immediately blur the
link.

Also, same for the "show help" link.
Options; Reintroduce min-height for exclusion rules.

We need to keep *some* minimum height to avoid the help texts colliding.
Merge remote-tracking branch 'smblott-github/option-for-options-page'

Conflicts:
	pages/options.html
Fix flipped viewSize properties in scroller.
Merge pull request #1304 from smblott-github/scrolling-fix-viewSize

Fix flipped viewSize properties in scroller.
Make keyup event suppression more readable
Remove insert mode check for keyup handling

If we have handled a keydown then we should always handle its
corresponding keyup, regardless of what mode we're in. This prevents
us from passing the keyup event for `i` to the page when we enter insert
mode.
Wrap RegExp for exclusions in a try catch to prevent parse error fails
Add comment to try/catch regexp.
Update a comment about the changed nature of isSelectable
List HTML5 date types that should use simulateSelect
Merge branch 'add-html5-input-types' of https://github.com/mrmr1993/vimium into mrmr1993-add-html5-input-types