Substantially improve string completion launching

The caret will now jump to the end of the function call if applicable.
Pressing / will re-open completions (for nested require() paths).
Typing a closing quote will commit completion.
Quotes and slashes  will not duplicate on commit & keypress.
Ctrl+Backspace & Delete will trigger completion.
Reduce nesting