JsInline: new module
JsInline: added class CallCounter
JsInline: added class AstSearchUtil
JsInline: added inline tests
JsInline: added method traverse() to all nodes
JsInline: added class JsGwtVisitor
JsInline: added class JsGwtModVisitor
JsInline: use SmartList instead of SingletonList when `new JsBlock(statement)` called

Reason: it is ok to insert in a block after AST was created during translation.
For example, inliner can insert inlined body in such block.
Thus immutable SingletonList isn't appropriate.
JsInline: removed old inline logic
JsInline: added class CloningVisitor
JsInline: added class RenamingVisitor
JsInline: added class NameCollector
JsInline: added class ReturnCounter
JsInline: added class ReplaceReturnVisitor
JsInline: added class FunctionCollector
JsInline: added class InlineableResult
JsInline: added class FunctionInlineMutator
JsInline: save static ref to JsFunction in JsName
JsInline: made break labels optional
+JsInliner class