* **Electron Version:**
  4.0.2
* **Operating System:**
  macOS 10.14.3
* **Last Known Working Electron version:**:
  1.7

### Expected Behavior
When creating a BrowserWindow it should not appear in the dock menu by defaults.

### Actual Behavior
It appears in the dock menu (example: `raven` in https://electronjs.org/docs/tutorial/macos-dock)

### To Reproduce
Just create new BrowserWindow, then right click on the app icon in the dock. (see https://electronjs.org/docs/tutorial/macos-dock)

At least it should be a way to control that, this can be achieve for top level window with:
`[window_ setExcludedFromWindowsMenu:YES];`, indeed [window isExcludedFromWindowsMenu] returns false by default, see

https://developer.apple.com/documentation/appkit/nsapplication/1428625-removewindowsitem
`Use the isExcludedFromWindowsMenu method of NSWindow if you want the item to remain excluded from the Window menu.`
https://developer.apple.com/documentation/appkit/nswindow/1419175-isexcludedfromwindowsmenu

atom/browser/api/atom_api_top_level_window.cc
ResetBrowserViews();
  AddBrowserView(value);
}
void TopLevelWindow::AddBrowserView(v8::Local<v8::Value> value) {
  mate::Handle<BrowserView> browser_view;
  if (value->IsObject() &&
      mate::ConvertFromV8(isolate(), value, &browser_view)) {
    auto get_that_view = browser_views_.find(browser_view->weak_map_id());
    if (get_that_view == browser_views_.end()) {
      window_->AddBrowserView(browser_view->view());
      browser_view->web_contents()->SetOwnerWindow(window_.get());
      browser_views_[browser_view->weak_map_id()].Reset(isolate(), value);
    }
  }
}
void TopLevelWindow::RemoveBrowserView(v8::Local<v8::Value> value) {
  mate::Handle<BrowserView> browser_view;
  if (value->IsObject() &&
      mate::ConvertFromV8(isolate(), value, &browser_view)) {
    auto get_that_view = browser_views_.find(browser_view->weak_map_id());
    if (get_that_view != browser_views_.end()) {
      window_->RemoveBrowserView(browser_view->view());
      browser_view->web_contents()->SetOwnerWindow(nullptr);
      (*get_that_view).second.Reset(isolate(), value);
      browser_views_.erase(get_that_view);
    }
  }
}
v8::Local<v8::Value> TopLevelWindow::GetNativeWindowHandle() {