Allow tab completion anywhere in the line
Add new completion function WordCompleter

Unlike the existing Completer, WordCompleter can read and modify the
entire line, not just the part of the line leading up to the cursor
position.
Fix crash if <tab> is pressed after SetCompleter(nil)