Safer handling of isolated worlds

DRQS 39323367

Currently, it is assumed that every context used in WebKit's isolate is a
WebKit context (i.e. either a mainWorldContext, or a context for "isolated
worlds").  Since we use our own contexts inside the same isolate, this
assumption is broken.

We should investigate using isolated worlds instead of creating our own
contexts, but for now, we will just remove this assumption.

Exposed DOMWrapperWorld::contextHasCorrectPrototype to determine whether a
context is a WebKit context (i.e. whether it has a DOM window).

Then modified currentWorldContext to return the mainWorldContext if the entered
context is not a WebKit context.

Also, modified worldForEnteredContextIfIsolated to return 0 if the entered
context is not a WebKit context.