FormValueWidget: make separate "input" and "change" events.

See http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#common-input-element-events.

Subclass will call handleOnInput() for things like dragging a slider handle, and handleOnChange()
for things like releasing the handle.

Still needs some more unit tests:

* Throttling: two calls to handleOnXXXX() with different values
  calls get collapsed into one/only one event is fired.
* Same value checking: Two calls to handleOnXXXX() with the same value
  should not produce any event
* Same value checking (variant): two calls to _handleOnXXXX() that change
  the value but then change it back (before the deferred has fired).
  should not produce any event

Fixes #180, #211.