More rational usage of exprToStat() and statToExpr().

This makes sure the js.Block(..., js.Undefined()) that we
create in statToExpr() at various places are eliminated
by exprToStat() for emission in statement position.