also complete interface members
Autoindent for buffers, currently fixed at 2 spaces.

The current buffer is lexed using the default Groovy Lexer,
which keeps track of parentheses in a stack, using the depth of that stack.

Also had to use a hack-ish solution wrapping the InputStream because JLine
does not provide an API to do autoindent.
Whole-buffer context aware completion using lexer
Completes many but no all expressions where statement before dot
across multiple lines can be evaluated without side-effects
(literals, classes, fields and collections thereof, without parentheses).