Found while investigating #25021

ElectronBrowserMainParts has a periodic timer that is used to trigger GC once a minute even on an idle system. While one wakeup per minute isn't bad, it's also been in there [since 2014](https://github.com/electron/electron/commit/4dd78480846557370dd53789d50e6cb0d6a81bcd) and may or may not still be necessary. It might be worth seeing what happens to memory overhead if this is disabled and/or triggered with a different mechanism.

```c++
  // Start idle gc.
  gc_timer_.Start(
      FROM_HERE, base::TimeDelta::FromMinutes(1),
      base::Bind(&v8::Isolate::LowMemoryNotification,
                 base::Unretained(js_env_->isolate())));
```


shell/browser/electron_browser_main_parts.cc
public:
  DarkThemeObserver() = default;
  
  void OnNativeThemeUpdated(ui::NativeTheme* observed_theme) override {
    UpdateDarkThemeSetting();
  }
};
#endif
ElectronBrowserMainParts* ElectronBrowserMainParts::self_ = nullptr;
ElectronBrowserMainParts::ElectronBrowserMainParts(
    const content::MainFunctionParams& params)
    : fake_browser_process_(new BrowserProcessImpl),
      browser_(new Browser),
      node_bindings_(
          NodeBindings::Create(NodeBindings::BrowserEnvironment::BROWSER)),
      electron_bindings_(new ElectronBindings(node_bindings_->uv_loop())) {
  DCHECK(!self_) << "Cannot have two ElectronBrowserMainParts";
  self_ = this;
}
ElectronBrowserMainParts::~ElectronBrowserMainParts() {
  asar::ClearArchives();
}
ElectronBrowserMainParts* ElectronBrowserMainParts::Get() {