* Electron version: 1.6.0, does _not_ repro in 1.4.x
* Operating system: Win32 tested, others possible

It appears that even if you create a window with `focusable: false` and `show: false`, calling `loadURL` on it will cause it to accept window focus and for other windows to lose focus.

### How to reproduce

Open the default Electron app

```js
BW = require('electron').remote.BrowserWindow
let ourWindow = BW.getFocusedWindow()
ourWindow.on('blur', () => console.log("Lost it!"))

hidden = new BW({show: false, width: 500, height: 500, focusable: false})
hidden.loadURL("http://www.yahoo.com")

>>> "Lost it!"
```

This breaks anyone using background windows for computation such as VS Code and Slack (via electron-remote), because whenever a background task kicks off, users can't type anymore
atom/browser/native_window_views.cc
wm::SetShadowType(
      GetNativeWindow(),
      has_shadow ? wm::SHADOW_TYPE_RECTANGULAR : wm::SHADOW_TYPE_NONE);
}
bool NativeWindowViews::HasShadow() {
  return wm::GetShadowType(GetNativeWindow()) != wm::SHADOW_TYPE_NONE;
}
void NativeWindowViews::SetIgnoreMouseEvents(bool ignore) {
#if defined(OS_WIN)
  LONG ex_style = ::GetWindowLong(GetAcceleratedWidget(), GWL_EXSTYLE);
  if (ignore)
    ex_style |= (WS_EX_TRANSPARENT | WS_EX_LAYERED);
  else
    ex_style &= ~(WS_EX_TRANSPARENT | WS_EX_LAYERED);
  ::SetWindowLong(GetAcceleratedWidget(), GWL_EXSTYLE, ex_style);
#elif defined(USE_X11)
  if (ignore) {
    XRectangle r = {0, 0, 1, 1};
    XShapeCombineRectangles(gfx::GetXDisplay(), GetAcceleratedWidget(),
                            ShapeInput, 0, 0, &r, 1, ShapeSet, YXBanded);
  } else {
    XShapeCombineMask(gfx::GetXDisplay(), GetAcceleratedWidget(),
                      ShapeInput, 0, 0, None, ShapeSet);
  }
#endif
}
void NativeWindowViews::SetContentProtection(bool enable) {