**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
content::WebContents* web_contents,
    int cert_error,
    const net::SSLInfo& ssl_info,
    const GURL& request_url,
    bool is_main_frame_request,
    bool strict_enforcement,
    base::OnceCallback<void(content::CertificateRequestResultType)> callback) {
  if (delegate_) {
    delegate_->AllowCertificateError(web_contents, cert_error, ssl_info,
                                     request_url, is_main_frame_request,
                                     strict_enforcement, std::move(callback));
  }
}
base::OnceClosure ElectronBrowserClient::SelectClientCertificate(
    content::WebContents* web_contents,
    net::SSLCertRequestInfo* cert_request_info,
    net::ClientCertIdentityList client_certs,
    std::unique_ptr<content::ClientCertificateDelegate> delegate) {
  if (!client_certs.empty() && delegate_) {
    delegate_->SelectClientCertificate(web_contents, cert_request_info,
                                       std::move(client_certs),
                                       std::move(delegate));
  }
  return base::OnceClosure();
}
bool ElectronBrowserClient::CanCreateWindow(