* Output of `node_modules/.bin/electron --version`: 4.0.0-beta.8
* Operating System (Platform and Version): Windows 10 1803
* Output of `node_modules/.bin/electron --version` on last known working Electron version (if applicable): 4.0.0-beta.7

**Expected Behavior**
`BrowserWindow.getNativeWindowHandle()` should return different value for different window

**Actual behavior**
`BrowserWindow.getNativeWindowHandle()` returns same value for different window, which is not true nativeWindowHandle for any of them.

**To Reproduce**
Open two `BrowserWindow`, and run `getNativeWindowHandle` on both `BrowserWindow`
```js
const { remote } = require('electron')
w1 = new remote.BrowserWindow()
w2 = new remote.BrowserWindow()
console.log(w1.getNativeWindowHandle(), w2.getNativeWindowHandle())
```
![image](https://user-images.githubusercontent.com/8194131/49328509-7411a800-f5b5-11e8-9a24-827aa589d937.png)


atom/browser/api/atom_api_top_level_window.cc
mate::Dictionary options;
  bool forward = false;
  args->GetNext(&options) && options.Get("forward", &forward);
  return window_->SetIgnoreMouseEvents(ignore, forward);
}
void TopLevelWindow::SetContentProtection(bool enable) {
  return window_->SetContentProtection(enable);
}
void TopLevelWindow::SetFocusable(bool focusable) {
  return window_->SetFocusable(focusable);
}
void TopLevelWindow::SetMenu(v8::Isolate* isolate, v8::Local<v8::Value> value) {
  mate::Handle<Menu> menu;
  if (value->IsObject() &&
      gin::V8ToString(
          isolate, value->ToObject(isolate)->GetConstructorName()) == "Menu" &&
      mate::ConvertFromV8(isolate, value, &menu) && !menu.IsEmpty()) {
    menu_.Reset(isolate, menu.ToV8());
    window_->SetMenu(menu->model());
  } else if (value->IsNull()) {
    menu_.Reset();
    window_->SetMenu(nullptr);
  } else {
    isolate->ThrowException(
        v8::Exception::TypeError(mate::StringToV8(isolate, "Invalid Menu")));
  }
}
void TopLevelWindow::SetParentWindow(v8::Local<v8::Value> value,