Split up parser implementation.
Kill implicit dependencies.
Mark overrides as 'final'.
Make logical 'and' and 'or' lazy.
Make statements not return values when executed.

Most of them were returning 'undefined' anyway, with the
exception of block statements, which were returning a null
pointer in the case of empty blocks.