Unlike @Carreau's attempt at using proper CodeMirror completion,
this is just a band-aid to get the existing completion back to working for 2.0.
This adds a keypress handler on the completer,
which then calls insert with the charCode of the key press event,
replacing the final `elif` branch of the keydown handler.
This cannot be done with keydown,
since keydown doesn't know what character is incoming,
only the hardware key that is struck.
comparaison between kernel completion and context-completin were
returning duplicate entry in some cases, due to trailing space.
sripping trailing space in comparaison prevent this.
fixes#3563
example
import bar
from foo im<tab>
used to propose `import` twice (actually `import` and `import[space]` as$
`import` was a token on the first line) now just complete directly to$
`import[space]`.