Fixes so that forloop2 passes.

* Floats formatted with %g so that 2.0 -> 2
* peephole refactor missed the `Pass` op
* forloop semantics fixed
Fix js for [expr,*expr]