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"`.

I have been testing with [this demo](http://html5doctor.com/demos/forms/forms-example.html).

This fixes #1201.
I understand that the list of unselectable types is shorter than the list of selectable types.  However, it's easier to verify a positive list than a negative list. How long *would* it be if we listed the positives rather than the negatives?