JsInline: replace return statements with break on label
JsInline: insert statements of inlineable JsBlock directly; do not declare result if not needed
JsInline: made invocation arguments modifieable
RenamingVisitor Generic
CloningVisitor Generic
RenamingVisitor -> Mod Visitor
NameCollector @NotNull
JsInline: 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
f.call() inline support
JsInline: check if expression need to be aliased
Better this replacement
JsInline: 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
JsInline: prevent inliner from inlining multiple subexpressions at once
JsInline: inline local functions