Change keyup debouncer to be bypassed on return press.

The debouncer is causing the callback to not be fired if the last
character is a return. A return should not be debounced, but passed
immediatly. The debouncer was rewritten to allow an optional
filter function that can bypass the normal debouncing functionality.

(UseAllFive/Kneon#637)