JS Inline: rename repeated local names
JS Inline: alias arguments of inlining call
JS Inline: replace return statements with break on label
JS Inline: insert statements of inlineable JsBlock directly; do not declare result if not needed
JS Inline: made invocation arguments modifieable
JS Inline: renaming refactoring
Lambda with Capture very temporary commit
Rewritten using Inlining context
Do not alias literals
Lambdas with captures
Should preserve qualifier during renaming
use SmartList, since Arrays.asList() returns fixed size list
JS Inline: support inline extension functions
JS Inline: check if expression need to be aliased
JS Inline: default parameter processing for inlined functions

When function is inlined initializers
for default parameters can be:
1. removed  if argument is not `void 0`
2. expanded otherwise
JS Inline: prevent inliner from inlining multiple subexpressions at once
JS Inline: inline local functions
JS Backend: dangerous issues temporary fix
JS Backend: save local and literal functions 'local' status in AST

Reason: to distinguish local functions,
when cleaning up after inline.

Unreferenced local functions can be removed.
JS Inline: identitySet helper function