Keyup, keydown and keypress events when using browser.fill

This change fires keyup, keydown and keypress events in addition to the change event when using browser.fill. This behavior is more similar to the events one may expect to be fired when a user is filling out an input field.

Additionally, if the value of the input has not actually changed (using browser.fill("input", "") when the input is already empty for instance) no events will fire.