**Is your feature request related to a problem? Please describe.**

Currently, the only way to show the About panel on macOS is by creating a `{role: 'about'}` menu item and click it. I need to be able to show it manually.

**Describe the solution you'd like**

Electron already has the method, so it's just about exposing this to JS and documenting it:

https://github.com/electron/electron/blob/8ba271efba691357ab1970c1a553b4e019125574/atom/browser/browser_mac.mm#L376

Would also be useful to be able to pass in the panel options directly to the method to override the defaults.

I would call the method: `app.showAboutPanel(options)`

**Describe alternatives you've considered**

None.
atom/browser/api/atom_api_app.cc
mate::Dictionary options;
  IconLoader::IconSize icon_size;
  FileIconCallback callback;
  v8::Locker locker(isolate());
  v8::HandleScope handle_scope(isolate());
  base::FilePath normalized_path = path.NormalizePathSeparators();
  if (!args->GetNext(&options)) {
    icon_size = IconLoader::IconSize::NORMAL;
  } else {
    std::string icon_size_string;
    options.Get("size", &icon_size_string);
    icon_size = GetIconSizeByString(icon_size_string);
  }
  if (!args->GetNext(&callback)) {
    args->ThrowError("Missing required callback function");
    return;
  }
  auto* icon_manager = AtomBrowserMainParts::Get()->GetIconManager();
  gfx::Image* icon =
      icon_manager->LookupIconFromFilepath(normalized_path, icon_size);
  if (icon) {
    callback.Run(v8::Null(isolate()), *icon);
  } else {
    icon_manager->LoadIcon(
        normalized_path, icon_size,
        base::Bind(&OnIconDataAvailable, isolate(), callback),
        &cancelable_task_tracker_);
  }
}
std::vector<mate::Dictionary> App::GetAppMetrics(v8::Isolate* isolate) {