Stop relying on GeneratorFunction.name in isGeneratorFunction.

When Regenerator is in use, genFun.constructor will usually be strictly
equal to the GeneratorFunction function, but it could also be the native
GeneratorFunction constructor or a foreign non-native GeneratorFunction
somehow created by a different instance of runtime.js, and the most
reliable way to identify those two (rare) possibilities is by name (see

The native GeneratorFunction.name should be "GeneratorFunction", but if
the runtime has been minified, a foreign non-native GeneratorFunction may
be identifiable only by the .displayName property that we set here. Though
it might seem better to set .name to "GeneratorFunction", that property is
not writable in some browsers.

Another approach (tried in #63) was to create the GeneratorFunction
constructor by evaluating a string (in an attempt to thwart minification),
but that had the unfortunate side effect of violating CSP: #112.

Fixes #156.