make public for use for plugins
factor out setting of root so that external tools can reset the tree to get new display. Also allow setting of ruleNames list externally.
make sure we create an interpreter that knows its recognizer
add helper methods and rename some internal Tool methods
update readme
Range check; apparently string literal map not set when we create interp vs code gen.
check for empty tree list.
Merge pull request #406 from parrt/treeview-refactor

Treeview refactor
Merge pull request #405 from parrt/lexer-interp

Lexer interp
Fixed documentation link
Merge pull request #407 from sharwell/fix-doc-link

Fixed documentation link
Fix ANTLRInputStream cannot seek to end of input
Updated lexer to support encoding commands in the ATN and interpreting them with LexerInterpreter