Fix syntax error in output of for statement with some expressions

The semi-colon in the initialiser part of the following for statements
were missing in the .to_ecma() output :

for(Q||(Q=[]);d<b;){d=1;}
for( 2 >> (foo ? 32 : 43) && 54;21;){ a = c;}
for(/^.+/g;cond();++z){ev();}
for((new Number("32"));f;g){}

Fixed by looking for the various AST classes in whether to add a
semi-colon or not.
Merge pull request #45 from harig/fix-for-stt-init

Fix syntax error in the output of for statement with some form of expressions