* 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.h
#endif
 private:
  
  void OnWidgetActivationChanged(views::Widget* widget, bool active) override;
  void OnWidgetBoundsChanged(views::Widget* widget,
                             const gfx::Rect& bounds) override;
  
  void DeleteDelegate() override;
  views::View* GetInitiallyFocusedView() override;
  bool CanResize() const override;
  bool CanMaximize() const override;
  bool CanMinimize() const override;
  base::string16 GetWindowTitle() const override;
  views::View* GetContentsView() override;
  bool ShouldDescendIntoChildForEventHandling(
      gfx::NativeView child,
      const gfx::Point& location) override;
  views::ClientView* CreateClientView(views::Widget* widget) override;
  views::NonClientFrameView* CreateNonClientFrameView(
      views::Widget* widget) override;
  void OnWidgetMove() override;
#if defined(OS_WIN)
  bool ExecuteWindowsCommand(int command_id) override;
#endif
#if defined(OS_WIN)
  
  bool PreHandleMSG(UINT message,
                    WPARAM w_param,
                    LPARAM l_param,
                    LRESULT* result) override;