* Electron Version: 3.0.0-beta.1
* Operating System (Platform and Version): Windows 8/10 x64 
* Last known working Electron version: 2.0.3

**Expected Behavior**
BrowserWindows should open and be functional. OS should react normally.

**Actual behavior**
BrowserWindows flicker (content and non-client area), the whole operating system seems to hang.
Problem can be resolved by opening the task manager, in this case the OS reacts normally and the faulty windows can be closed.

**To Reproduce**
Simply create and display two BrowserWindows. May require several attempts.

Alternatively, one can click the "Show Desktop" button (the rightmost button in the taskbar, right of the notifications icon) multiple times, the result is similar and does not even need that the windows are opened simultaneously.

Chance of effect increases when more BrowserWindows are open.
atom/browser/native_window_views.cc
std::unique_ptr<SkRegion> region) {
  draggable_region_ = std::move(region);
}
#if defined(OS_WIN)
void NativeWindowViews::SetIcon(HICON window_icon, HICON app_icon) {
  
  window_icon_ = base::win::ScopedHICON(CopyIcon(window_icon));
  app_icon_ = base::win::ScopedHICON(CopyIcon(app_icon));
  HWND hwnd = GetAcceleratedWidget();
  SendMessage(hwnd, WM_SETICON, ICON_SMALL,
              reinterpret_cast<LPARAM>(window_icon_.get()));
  SendMessage(hwnd, WM_SETICON, ICON_BIG,
              reinterpret_cast<LPARAM>(app_icon_.get()));
}
#elif defined(USE_X11)
void NativeWindowViews::SetIcon(const gfx::ImageSkia& icon) {