**Is your feature request related to a problem? Please describe.**
Notifications, Geolocation, Device motion/orientation, EME, getUserMedia, AppCache require a secure origin to work in Chromium. HTTP URLs are not considered secure.
That's why Chromium provides the command-line switch
`--unsafely-treat-insecure-origin-as-secure="$url"` to circumvent this problem.
Unfortunately it's not working in Electron.

**Describe the solution you'd like**
Please make it work. In the renderer. I'd suggest simply like 
```
new BrowserWindow({
  webPreferences: {
    additionalArguments: {
    '--unsafely-treat-insecure-origin-as-secure', 'http://insecure-origin'
    }
}
```
Or a new option `considerSecure: String[]` to `BrowserWindow.webPreferences`.
I guess it should be not too hard to implement since Chromium already supports it and it seems to get lost only in the process of Electron integration.

**Describe alternatives you've considered**
- `app.commandLine.appendSwitch('unsafely-treat-insecure-origin-as-secure', $url)` in the main thread
- Invisible [BrowserWindow](https://github.com/electron/electron/blob/master/docs/api/browser-window.md) with secure origin + IPC
- `<iframe>` on a secure origin
- localhost-Proxy
- Using Data URLs in [loadURL](https://github.com/electron/electron/blob/master/docs/api/browser-window.md#winloadurlurl-options): `data:text/html,<script>new Notification("hi")</script>`
- webFrame.registerURLSchemeAsPrivileged

**Additional context**
'Deprecating Powerful Features on Insecure Origins' https://goo.gl/rStTGz
When the flag is set in Chromium a message appears under the address bar, saying that
'You are using an unsupported command-line flag'.
![image](https://user-images.githubusercontent.com/23075755/47640947-1c6ebf80-db65-11e8-9e6e-d7a5bd90c208.png)
Nonetheless the features are then working on the origin treated securely.
shell/browser/electron_browser_client.cc
: MSG_ROUTING_NONE,
      &next_id_, std::move(navigation_ui_data), std::move(navigation_id),
      std::move(proxied_receiver), std::move(target_factory_remote),
      std::move(header_client_receiver), type);
  if (bypass_redirect_checks)
    *bypass_redirect_checks = true;
  return true;
}
void ElectronBrowserClient::OverrideURLLoaderFactoryParams(
    content::BrowserContext* browser_context,
    const url::Origin& origin,
    bool is_for_isolated_world,
    network::mojom::URLLoaderFactoryParams* factory_params) {
  if (factory_params->top_frame_id) {
    
    auto* rfh = content::RenderFrameHost::FromFrameToken(
        factory_params->process_id,
        blink::LocalFrameToken(factory_params->top_frame_id.value()));
    auto* web_contents = content::WebContents::FromRenderFrameHost(rfh);
    auto* prefs = WebContentsPreferences::From(web_contents);
    if (prefs && !prefs->IsWebSecurityEnabled()) {
      factory_params->is_corb_enabled = false;
      factory_params->disable_web_security = true;
    }
  }
  extensions::URLLoaderFactoryManager::OverrideURLLoaderFactoryParams(
      browser_context, origin, is_for_isolated_world, factory_params);
}
#if BUILDFLAG(IS_WIN)
bool ElectronBrowserClient::PreSpawnChild(sandbox::TargetPolicy* policy,