* **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
menu_.Reset();
  window_->SetMenu(nullptr);
}
void TopLevelWindow::SetParentWindow(v8::Local<v8::Value> value,
                                     mate::Arguments* args) {
  if (IsModal()) {
    args->ThrowError("Can not be called for modal window");
    return;
  }
  mate::Handle<TopLevelWindow> parent;
  if (value->IsNull() || value->IsUndefined()) {
    RemoveFromParentChildWindows();
    parent_window_.Reset();
    window_->SetParentWindow(nullptr);
  } else if (mate::ConvertFromV8(isolate(), value, &parent)) {
    RemoveFromParentChildWindows();
    parent_window_.Reset(isolate(), value);
    window_->SetParentWindow(parent->window_.get());
    parent->child_windows_.Set(isolate(), weak_map_id(), GetWrapper());
  } else {
    args->ThrowError("Must pass TopLevelWindow instance or null");
  }
}
void TopLevelWindow::SetBrowserView(v8::Local<v8::Value> value) {