Allow spaces in require() calls
Finish recursive module parsing

Includes passing unit tests.
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