- Electron version: v0.37.5
- Operating system: Any

It would be useful if we can open DevTools choosing all of it's available position: detached, docked right or docked bottom.

The new API could be something like this:
# webContents.openDevTools([options])

Opens the devtools.
- options Object (optional)
  - mode String - ['detached' | 'right' | 'bottom'] . opens DevTools in specified position. Defaults to last used mode.
  - detach Boolean - opens DevTools in a new window (deprecated, use mode: 'detached')

atom/browser/api/atom_api_web_contents.cc
std::string hex_theme_color = base::StringPrintf("#%02X%02X%02X",
    SkColorGetR(theme_color),
    SkColorGetG(theme_color),
    SkColorGetB(theme_color));
  Emit("did-change-theme-color", hex_theme_color);
}
void WebContents::DocumentLoadedInFrame(
    content::RenderFrameHost* render_frame_host) {
  if (!render_frame_host->GetParent())
    Emit("dom-ready");
}
void WebContents::DidFinishLoad(content::RenderFrameHost* render_frame_host,
                                const GURL& validated_url) {
  bool is_main_frame = !render_frame_host->GetParent();
  Emit("did-frame-finish-load", is_main_frame);
  if (is_main_frame)
    Emit("did-finish-load");
}
void WebContents::DidFailProvisionalLoad(
    content::RenderFrameHost* render_frame_host,
    const GURL& url,
    int code,
    const base::string16& description,
    bool was_ignored_by_handler) {
  bool is_main_frame = !render_frame_host->GetParent();
  Emit("did-fail-provisional-load", code, description, url, is_main_frame);
  Emit("did-fail-load", code, description, url, is_main_frame);
}
void WebContents::DidFailLoad(content::RenderFrameHost* render_frame_host,