* Output of `node_modules/.bin/electron --version`: 2.0.0
* Operating System (Platform and Version): Windows 10

**Expected Behavior**
When I disable a window twice via `setEnabled(false)`, I expect the second disable to have no effect.

**Actual behavior**
The second disable is "queued" up, such that I am forced to enable the window twice to get back to normal.

**To Reproduce**
In the electronquickstart repo, in main.js' `createWindow()`, add these lines:

    mainWindow.setEnabled(false);
    mainWindow.setEnabled(false);
    mainWindow.setEnabled(true);

The window will be disabled when launched. 

You see the same issue if you do it in reverse:

    mainWindow.setEnabled(true);
    mainWindow.setEnabled(false); // this doesn't actually disable it, because the window was enabled from the getgo

If this is expected behavior, can the [docs](https://github.com/electron/electron/blob/master/docs/api/browser-window.md#winsetenabledenable) be updated to explain this behavior.
atom/browser/native_window_views.cc
NativeWindow::SetParentWindow(parent);
#if defined(USE_X11)
  XDisplay* xdisplay = gfx::GetXDisplay();
  XSetTransientForHint(
      xdisplay, GetAcceleratedWidget(),
      parent ? parent->GetAcceleratedWidget() : DefaultRootWindow(xdisplay));
#elif defined(OS_WIN) && defined(DEBUG)
  
  
  if (parent) {
    ::SetParent(GetAcceleratedWidget(), parent->GetAcceleratedWidget());
    views::Widget::ReparentNativeView(GetNativeWindow(),
                                      parent->GetNativeWindow());
    wm::AddTransientChild(parent->GetNativeWindow(), GetNativeWindow());
  } else {
    if (!GetNativeWindow()->parent())
      return;
    ::SetParent(GetAcceleratedWidget(), NULL);
    views::Widget::ReparentNativeView(GetNativeWindow(), nullptr);
    wm::RemoveTransientChild(GetNativeWindow()->parent(), GetNativeWindow());
  }
#endif
}
gfx::NativeView NativeWindowViews::GetNativeView() const {