It would be great to add macOS support to the [`systemPreferences.getColor` method](https://github.com/electron/electron/blob/master/docs/api/system-preferences.md#systempreferencesgetcolorcolor-windows) to allow electron apps to fetch the [system colors](https://developer.apple.com/design/human-interface-guidelines/macos/visual-design/color#system-colors) and [dynamic system colors](https://developer.apple.com/design/human-interface-guidelines/macos/visual-design/color#dynamic-system-colors). This would be a pretty big deal for apps that are trying to fit in with the OS, especially since the colors change depending on several factors and Apple strongly discourages hardcoding them:

>**Don't hard code system color values in your app.** The color values provided below are intended for reference during your app design process. The actual color values will fluctuate from release to release, based on a variety of environmental variables. Always use the API to apply system colors.

>**Don't try to replicate dynamic system colors.** Dynamic system colors—some of which may be patterns—fluctuate from release to release, based on a variety of environmental variables. Instead of trying to create custom colors that match the dynamic system colors, use the dynamic system colors.

I am very unfamiliar with how most of this stuff works, but based on the docs I linked it seems like this could be a relatively simple interface to NSColor...?
atom/browser/api/atom_api_system_preferences.h
std::string GetAccentColor();
#endif
#if defined(OS_WIN)
  bool IsAeroGlassEnabled();
  std::string GetColor(const std::string& color, mate::Arguments* args);
  void InitializeWindow();
  
  void OnSysColorChange() override;
  
  void OnFinishLaunching(const base::DictionaryValue& launch_info) override;
#elif defined(OS_MACOSX)
  using NotificationCallback =
      base::Callback<void(const std::string&, const base::DictionaryValue&)>;
  void PostNotification(const std::string& name,
                        const base::DictionaryValue& user_info,
                        mate::Arguments* args);
  int SubscribeNotification(const std::string& name,
                            const NotificationCallback& callback);
  void UnsubscribeNotification(int id);
  void PostLocalNotification(const std::string& name,
                             const base::DictionaryValue& user_info);
  int SubscribeLocalNotification(const std::string& name,
                                 const NotificationCallback& callback);
  void UnsubscribeLocalNotification(int request_id);
  void PostWorkspaceNotification(const std::string& name,
                                 const base::DictionaryValue& user_info);
  int SubscribeWorkspaceNotification(const std::string& name,
                                     const NotificationCallback& callback);
  void UnsubscribeWorkspaceNotification(int request_id);
  v8::Local<v8::Value> GetUserDefault(const std::string& name,