* Output of `node_modules/.bin/electron --version`:
v3.0.6
v4.0.0-beta.5

* Operating System (Platform and Version):
macOS High Siearra 10.13.6

* Output of `node_modules/.bin/electron --version` on last known working Electron version (if applicable):
v2.0.11

**Expected Behavior**
BrowserWindow.getNativeWindowHandle() must return non-nullable result.

**Actual behavior**
BrowserWindow.getNativeWindowHandle() returns null.

**To Reproduce**

***Sample code***
```
const { app, BrowserWindow } = require('electron');

let win

app
	.on('ready', () => {
		win = new BrowserWindow({width: 800, height: 600})
		win.loadURL('https://www.google.com')
		
		win.on('closed', () => win = null);

		const handle = win.getNativeWindowHandle();
		console.log('Current window: ' + handle.toString('hex'));
	})
	.on('window-all-closed', () => app.quit());
```

***Expected output***
Something different than `Current window: 0000000000000000`

***Actual output***
`Current window: 0000000000000000`
atom/browser/api/atom_api_top_level_window.cc
return window_->IsDocumentEdited();
}
void TopLevelWindow::SetIgnoreMouseEvents(bool ignore, mate::Arguments* args) {
  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() &&
      mate::V8ToString(value->ToObject()->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,