* 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
options.Get(options::kResizable, &resizable_);
  options.Get(options::kMinimizable, &minimizable_);
  options.Get(options::kMaximizable, &maximizable_);
  
  options.Get("thickFrame", &thick_frame_);
  if (transparent())
    thick_frame_ = false;
#endif
  if (enable_larger_than_screen())
    
    
    
    
    SetContentSizeConstraints(extensions::SizeConstraints(
        gfx::Size(), gfx::Size(INT_MAX / 10, INT_MAX / 10)));
  int width = 800, height = 600;
  options.Get(options::kWidth, &width);
  options.Get(options::kHeight, &height);
  gfx::Rect bounds(0, 0, width, height);
  widget_size_ = bounds.size();
  window_->AddObserver(this);
  views::Widget::InitParams params;
  params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
  params.bounds = bounds;
  params.delegate = this;
  params.type = views::Widget::InitParams::TYPE_WINDOW;
  params.remove_standard_frame = !has_frame();
  if (transparent())