**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
#include "atom/browser/ui/cocoa/atom_bundle_mover.h"
#endif
using atom::Browser;
namespace mate {
#if defined(OS_WIN)
template <>
struct Converter<Browser::UserTask> {
  static bool FromV8(v8::Isolate* isolate,
                     v8::Local<v8::Value> val,
                     Browser::UserTask* out) {
    mate::Dictionary dict;
    if (!ConvertFromV8(isolate, val, &dict))
      return false;
    if (!dict.Get("program", &(out->program)) ||
        !dict.Get("title", &(out->title)))
      return false;
    if (dict.Get("iconPath", &(out->icon_path)) &&
        !dict.Get("iconIndex", &(out->icon_index)))
      return false;
    dict.Get("arguments", &(out->arguments));
    dict.Get("description", &(out->description));
    return true;
  }
};
using atom::JumpListCategory;
using atom::JumpListItem;
using atom::JumpListResult;
template <>
struct Converter<JumpListItem::Type> {
  static bool FromV8(v8::Isolate* isolate,