JS inline: added collections utils
JS inline: common reference utilities for cleaning up after inline
JS inline: remove unused local function instances
JS inline: remove unused function literals and local functions
JS inline: added inline recursion exception
JS inline: use dfs processing order, as it is independent of declaration order
JS inline: inline simple-return functions directly
JS inline: use inlined function name for inline labels
JS backend: added the ability to turn off the inline optimization.
JS inline minor: moved JsInliningContext definition to the bottom of JsInliner
JS inline refactor: moved JS AST modifying utils to 'rewriters' package
JS inline refactor: moved JS AST collecting utils to 'collectors' package
JS inline refactor: moved contexts to 'context' package
JS inline refactor: refactored clean utils after code review
JS inline refactor: extracted flattenStatement() function
JS inline refactor: moved invocation and function utils to separate files
JS inline refactor: splitted Renaming.kt
JS inline minor: inlined doDirectInline()
JS backend minor: made undefined expression static field
JS backend minor: made CALL_FUNCTION constant public