* 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
const mate::Dictionary& options)
    : weak_factory_(this) {
  
  mate::Handle<TopLevelWindow> parent;
  if (options.Get("parent", &parent) && !parent.IsEmpty())
    parent_window_.Reset(isolate, parent.ToV8());
#if BUILDFLAG(ENABLE_OSR)
  
  mate::Dictionary web_preferences;
  bool offscreen;
  if (options.Get(options::kWebPreferences, &web_preferences) &&
      web_preferences.Get(options::kOffscreen, &offscreen) && offscreen) {
    const_cast<mate::Dictionary&>(options).Set(options::kFrame, false);
  }
#endif
  
  window_.reset(NativeWindow::Create(
      options, parent.IsEmpty() ? nullptr : parent->window_.get()));
  window_->AddObserver(this);
#if defined(TOOLKIT_VIEWS)
  
  mate::Handle<NativeImage> icon;
  if (options.Get(options::kIcon, &icon) && !icon.IsEmpty())
    SetIcon(icon);
#endif
}
TopLevelWindow::TopLevelWindow(v8::Isolate* isolate,