Fix code generation with hoisted variables on 'instantiate' builds

Traceur was generating an function expression, but for some reason it
was interpreting the function body as an expression list rather than
a statement list. This commit enforce the right parsing by using
ParseTreeFactory's primitives.