This patch starts creating secondary DOMWorld for every connected page and switches `page.select()` to run inside the secondary world. Fix #3327.
This patch splits out `IsolatedWorld` class from Frame. The `IsolatedWorld` abstraction is an execution context with a designated set of DOM wrappers. References #2671