JsInline: added inline tests
JsInline: Imported inline tests from JVM-backend
JsInline: added method traverse() to all nodes
JsInline: added JsGwtVisitor
JsInline: added JsGwtModVisitor
JsInline: removed legacy inline logic
JsInline: pass call expression to InlinedCallExpressionTranslator
JsBackend: break label should be JsNameRef, not String

The reason is to make it easier to distinguish
between different break labels (that's valid on same level).
JsNameRefs can be distinguished by their JsName.
JsInline: added CloningVisitor
JsInline: added InlineableResult
JsInline: added FunctionInlineMutator
JsInline: added JsInliner
JsInline: save static ref to JsFunction in JsName
JsInline: collect defined functions
JsInline: save block contexts to stack

Reason: need to be able to insert inlined body
before current statement (that might be
distant parent of node currently being
processed)
JsInline: save inline status during translation
JsInline: inline function calls
JsInline: run JsInliner after AST is built
JsInline: rename repeated local names
JsInline: alias arguments of inlining call