Compiler improvement: DO NOT merge, review only

Do no merge, Review only.
* example:
   * rm warning
* compiler    
  * cleanup & refactoring 
  * short variable names
     * delay var assignment
     * compute js variables liveness
     * use ocamlgraph to color the graph of js variables (Js_var.ml)
  * fix
     * remove `ouput_file` in case of compilation failure
     * profile 3 (`-opt 3`) : missing deadcode elimination btw inline and flow
  * static evaluation of constant (should be merged with flow)
  * improve parallel renaming by tracking deps.