* **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
#if defined(OS_WIN)
namespace mate {
template <>
struct Converter<atom::TaskbarHost::ThumbarButton> {
  static bool FromV8(v8::Isolate* isolate,
                     v8::Handle<v8::Value> val,
                     atom::TaskbarHost::ThumbarButton* out) {
    mate::Dictionary dict;
    if (!ConvertFromV8(isolate, val, &dict))
      return false;
    dict.Get("click", &(out->clicked_callback));
    dict.Get("tooltip", &(out->tooltip));
    dict.Get("flags", &out->flags);
    return dict.Get("icon", &(out->icon));
  }
};
}  
#endif
namespace atom {
namespace api {
namespace {
v8::Local<v8::Value> ToBuffer(v8::Isolate* isolate, void* val, int size) {
  auto buffer = node::Buffer::Copy(isolate, static_cast<char*>(val), size);
  if (buffer.IsEmpty())
    return v8::Null(isolate);
  else
    return buffer.ToLocalChecked();
}
}  
TopLevelWindow::TopLevelWindow(v8::Isolate* isolate,