fix(inputs): improve "input" event emulation for legacy browsers

Hello,

In IE versions that use the keydown handler to check for changes to an input, there is a bug when pressing the tab key that will update the input after the change and blur events.

This PR fixes this behavior ~~by cancelling the keydown handler, and updating immediately on change/blur~~.

See a demo of the bug here (only affects IE8/IE9): http://codepen.io/cvn/full/lvjJr/

Here is a fixed demo with the changes from this PR applied to angular.js: http://codepen.io/cvn/full/cgLns/

Currently, this bug only impacts IE8 & 9, but if PR https://github.com/angular/angular.js/pull/9265 lands, it will affect all versions of IE.

Issue https://github.com/angular/angular.js/issues/1206 may be related, but I'm not sure about this.

I'm submitting this PR to master, but I think it makes sense to include in both 1.2 and 1.3 branches.

Please let me know what you think.