Compiler and JS UI fixes.

Regarding ecfd735 (Fix JS UI clearing stderr when unmodified program run.), there might be a nicer way to do it, but this didn't look to bad to me.

--

For 3c77a48 (Remove unreachable code.), here's a brief justification for each one.

* `method dofor` is never called by anything.
* "Varargs parameter must be last" can only occur on a subsequent iteration of the loop when `vararg` is set to true, but whenever `vararg` is set to true, the next token is expected to be a `)`, which is not consumed, so the loop condition fails and a subsequent iteration never occurs.
* "No keyword 'const'; did you mean 'def'?" can not occur because the lexer doesn't recognize `const` as a keyword anymore.
* "Const must have value bound" can only occur when compiledefdec is given a node with a false value, but because the parser does not allow a def declaration without an initial value and requires that the value consumes at least one token, the value of a defdec node should never be false.