Use selectedIndex instead of value for tracking change events.

Fixes #1024 and #962 

Technically, a change event on a native select fires when the selected option changes -- regardless of value. We should track the ``selectedIndex`` instead of value to do our best to match this behavior.

Note: this won't affect multiple select which already triggers a change event _any_ time an option is selected or deselected.