**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
if (!BrowserThread::IsThreadInitialized(BrowserThread::IO) ||
      !base::PostTask(
          FROM_HERE, {BrowserThread::IO},
          base::BindOnce(&SetApplicationLocaleOnIOThread, locale))) {
    g_io_thread_application_locale.Get() = locale;
  }
  *g_application_locale = locale;
}
ElectronBrowserClient::ElectronBrowserClient() {
  DCHECK(!g_browser_client);
  g_browser_client = this;
}
ElectronBrowserClient::~ElectronBrowserClient() {
  DCHECK(g_browser_client);
  g_browser_client = nullptr;
}
content::WebContents* ElectronBrowserClient::GetWebContentsFromProcessID(
    int process_id) {
  
  
  const auto iter = pending_processes_.find(process_id);
  if (iter != std::end(pending_processes_))
    return iter->second;
  
  
  return WebContentsPreferences::GetWebContentsFromProcessID(process_id);
}
content::SiteInstance* ElectronBrowserClient::GetSiteInstanceFromAffinity(