Proof of Concept: fix generator.invoke

Create a new `runLoop` for the invoked generator.
Fix Base#hookFor() method and cleanup invoke fix

Add Environment#duplicate() to create performant copy of a complete
environment.
Remove unecessary use strict statement