**Is your feature request related to a problem? Please describe.**
It's mostly related to #14837. Without "Accessibility" consent in "Privacy and Security" since Mojave electron will crash on unregisterAll and return incorrect result in register (true even if it actually wasn't registered) for media shortcuts.

It also will be good to be able to ask for this consent manually or check it's presence.

**Describe the solution you'd like**
Expose [AXIsProcessTrustedWithOptions](https://developer.apple.com/documentation/applicationservices/1459186-axisprocesstrustedwithoptions) with both popup showing and not and add these checks to register/unregister/unregisterAll for Mojave.

**Describe alternatives you've considered**
I've created [a small node.js package](https://github.com/4ndv/node-mac-accessibility-features-check) to perform this checks on my app side, but it's still an incorrect behavior to crash on unregisterAll

atom/browser/api/atom_api_system_preferences.h
v8::Local<v8::Value> GetUserDefault(const std::string& name,
                                      const std::string& type);
  void RegisterDefaults(mate::Arguments* args);
  void SetUserDefault(const std::string& name,
                      const std::string& type,
                      mate::Arguments* args);
  void RemoveUserDefault(const std::string& name);
  bool IsSwipeTrackingFromScrollEventsEnabled();
  
  
  std::string GetMediaAccessStatus(const std::string& media_type,
                                   mate::Arguments* args);
  v8::Local<v8::Promise> AskForMediaAccess(v8::Isolate* isolate,
                                           const std::string& media_type);
  
  
  v8::Local<v8::Value> GetEffectiveAppearance(v8::Isolate* isolate);
  v8::Local<v8::Value> GetAppLevelAppearance(v8::Isolate* isolate);
  void SetAppLevelAppearance(mate::Arguments* args);
#endif
  bool IsDarkMode();
  bool IsInvertedColorScheme();
  bool IsHighContrastColorScheme();
 protected:
  explicit SystemPreferences(v8::Isolate* isolate);
  ~SystemPreferences() override;
#if defined(OS_MACOSX)
  int DoSubscribeNotification(const std::string& name,
                              const NotificationCallback& callback,
                              NotificationCenterKind kind);