refactor($parse): simplifying multi-statement execution

Part of #8901
refactor($parse): adding function names for easier debugging

Part of #8901
perf($parse): calculate array lengths once at start of loop

Part of #8901
refactor($parse): simplifying some while(true) loops

Part of #8901
perf($parse): removing references to Parser/Lexer from parsed expressions

This allows the parser and lexer objects to get GC-ed once the expression
is parsed.

Part of #8901
perf(jQuery): only trigger $destroy if a handler exists

Speeds up largetable destruction by 30% (500ms) when jQuery 2.1.1 is present.

Closes #8859