Hoist function declarations in generator functions

This is so that we do not add a function where it isn't allowed
in ES5 strict mode, due to the CPS transformer.

Fixes #1172