Now that we have a supported platform list of >= 10.10 we can use the `[NSStatusItem button]` instead of the hacks and tricks we use currently.
shell/browser/api/atom_api_tray.cc
v8::Local<v8::Object> wrapper,
           mate::Handle<NativeImage> image)
    : tray_icon_(TrayIcon::Create()) {
  SetImage(isolate, image);
  tray_icon_->AddObserver(this);
  InitWith(isolate, wrapper);
}
Tray::~Tray() = default;
mate::WrappableBase* Tray::New(mate::Handle<NativeImage> image,
                               mate::Arguments* args) {
  if (!Browser::Get()->is_ready()) {
    args->ThrowError("Cannot create Tray before app is ready");
    return nullptr;
  }
  return new Tray(args->isolate(), args->GetThis(), image);
}
void Tray::OnClicked(const gfx::Rect& bounds,
                     const gfx::Point& location,
                     int modifiers) {
  EmitWithFlags("click", modifiers, bounds, location);
}
void Tray::OnDoubleClicked(const gfx::Rect& bounds, int modifiers) {