Add support for multi-line autocompletion in R scripts

This allows us to get multiline autocompletion results with e.g. the context:

    install.packages(
        |

I've implemented so that multiline autocompletion results can only be triggered with CTRL + SPACE (not with TAB) because it would be annoying for users who want to manually indent the current line in other contexts.

The basic way this PR works: instead of just passing the current line to the autocompletion generator, we look back and grab content until we have enough information to get an appropriate autocompletion. This is done by checking the balance of `(` and `)`; once we have more `(` than we do `)` we stop.

Multi-line strings, e.g.

```
"
This is some text with (
unbalanced parens
"
```

will probably confuse it, however.
In fact -- we should check if we are auto-completing an identifier, so if there are non-whitespace characters before the cursor we probably want to return.