Renaming context
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
JsBackend: dangerous issues temporary fix
JsBackend: 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.