This patch splits out `IsolatedWorld` class from Frame. The `IsolatedWorld` abstraction is an execution context with a designated set of DOM wrappers. References #2671