* **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
v8::Local<v8::Object> wrapper,
                               const mate::Dictionary& options)
    : TopLevelWindow(isolate, options) {
  InitWith(isolate, wrapper);
  
  window()->InitFromOptions(options);
}
TopLevelWindow::~TopLevelWindow() {
  if (!window_->IsClosed())
    window_->CloseImmediately();
  
  
  base::ThreadTaskRunnerHandle::Get()->DeleteSoon(FROM_HERE, window_.release());
}
void TopLevelWindow::InitWith(v8::Isolate* isolate,
                              v8::Local<v8::Object> wrapper) {
  AttachAsUserData(window_.get());
  mate::TrackableObject<TopLevelWindow>::InitWith(isolate, wrapper);
  
  
  if (!parent_window_.IsEmpty()) {
    mate::Handle<TopLevelWindow> parent;
    mate::ConvertFromV8(isolate, GetParentWindow(), &parent);
    DCHECK(!parent.IsEmpty());
    parent->child_windows_.Set(isolate, weak_map_id(), wrapper);
  }
}
void TopLevelWindow::WillCloseWindow(bool* prevent_default) {