* 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
root_view_->SetAutoHideMenuBar(auto_hide);
}
bool NativeWindowViews::IsMenuBarAutoHide() {
  return root_view_->IsMenuBarAutoHide();
}
void NativeWindowViews::SetMenuBarVisibility(bool visible) {
  root_view_->SetMenuBarVisibility(visible);
}
bool NativeWindowViews::IsMenuBarVisible() {
  return root_view_->IsMenuBarVisible();
}
void NativeWindowViews::SetVisibleOnAllWorkspaces(bool visible,
                                                  bool visibleOnFullScreen) {
  widget()->SetVisibleOnAllWorkspaces(visible);
}
bool NativeWindowViews::IsVisibleOnAllWorkspaces() {
#if defined(USE_X11)
  
  
  XAtom sticky_atom = GetAtom("_NET_WM_STATE_STICKY");
  std::vector<XAtom> wm_states;
  ui::GetAtomArrayProperty(GetAcceleratedWidget(), "_NET_WM_STATE", &wm_states);
  return std::find(wm_states.begin(), wm_states.end(), sticky_atom) !=
         wm_states.end();
#endif
  return false;
}
gfx::AcceleratedWidget NativeWindowViews::GetAcceleratedWidget() const {