<!--
Thanks for opening an issue! A few things to keep in mind:

- The issue tracker is only for bugs and feature requests.
- Before reporting a bug, please try reproducing your issue against
  the latest version of Electron.
- If you need general advice, join our Slack: http://atom-slack.herokuapp.com
-->

* Electron version: 1.8.4
* Operating system: Windows

### Expected behavior

Off screen windows should respond to the `.focus()` method being called by making the content appear to be focused.

### Actual behavior

Currently the undocumented method `focusOnWebView()` method must be called in order to "focus" an offscreen window.

This behaviour should either be documented [in the off-screen rendering guide](https://electronjs.org/docs/tutorial/offscreen-rendering), or the `.focus()` method should fix this

### How to reproduce

* Create an offscreen window, and have its content output to some location (In my case an OpenGL texture)
* Go to a web page, such as google
* Observe no caret in focused text box, and selected text is the wrong colour

Not sure if this is just a documentation issue or a bug... Feel free to resolve as if it were working as intended and document this issue in the off-screen rendering guide.

atom/browser/api/atom_api_browser_window.cc
auto window = static_cast<NativeWindowViews*>(window_.get());
  return window->taskbar_host().SetThumbnailClip(
      window_->GetAcceleratedWidget(), region);
}
bool BrowserWindow::SetThumbnailToolTip(const std::string& tooltip) {
  auto window = static_cast<NativeWindowViews*>(window_.get());
  return window->taskbar_host().SetThumbnailToolTip(
      window_->GetAcceleratedWidget(), tooltip);
}
void BrowserWindow::SetAppDetails(const mate::Dictionary& options) {
  base::string16 app_id;
  base::FilePath app_icon_path;
  int app_icon_index = 0;
  base::string16 relaunch_command;
  base::string16 relaunch_display_name;
  options.Get("appId", &app_id);
  options.Get("appIconPath", &app_icon_path);
  options.Get("appIconIndex", &app_icon_index);
  options.Get("relaunchCommand", &relaunch_command);
  options.Get("relaunchDisplayName", &relaunch_display_name);
  ui::win::SetAppDetailsForWindow(
      app_id, app_icon_path, app_icon_index,
      relaunch_command, relaunch_display_name,
      window_->GetAcceleratedWidget());
}
#endif
#if defined(TOOLKIT_VIEWS)
void BrowserWindow::SetIcon(mate::Handle<NativeImage> icon) {