Add cross-origin window and location wrappers (#291) Closes https://github.com/dart-lang/sdk/issues/54443 Closes https://github.com/dart-lang/web/issues/247 Closes https://github.com/dart-lang/sdk/issues/54938 Since cross-origin objects have limitations around access, wrappers are introduced to do the only safe operations. Extension methods are added to get instances of these wrappers.