Add cut and paste events.

This handles the case where the mouse is used to cut and paste
and thus the keypress events don't fire. If cut fires and the
input is empty, the autocomplete hides. If paste fires and the
input is not empty, the autocomplete renders.

*** This uses a hackish technique of setting a 0ms timeout to
get around the problem of the cut and paste events occuring
before the actual cut/paste happens. As a result the value of
the input after the cut/paste is not available. Setting a
timeout gets around this problem, but a better approach would
be to create after events for cut and paste.