* Electron version:
1.7.0+  (it works in 1.6.15)
* Operating system:
Windows 10 x64

### Expected behavior
When passing in a screen id getUserMedia should return a stream for the corresponding screen.

### Actual behavior
When passing in a screen id getUserMedia returns a stream from a different screen, or a broken stream in some situations.

** means primary monitor

Monitor configuration and results: 
- [ 1**, 2 ] - Capturing either screen works
- [ 1, 2** ] - Capturing screen 1 returns a stream for screen 2, capturing screen 2 returns a broken stream
- [ 2, 1** ] - Capturing screen 1 works, capturing screen 2 returns a broken stream.
- [ 2**, 1 ] - capturing screen 1 returns a stream for screen 2, capturing screen 2 returns stream for screen 1.

### How to reproduce

If you provide a URL, please list the commands required to clone/setup/run your repo e.g.
```bash
git clone https://github.com/hokein/electron-screen-recorder.git
cd electron-screen-recorder
npm install
npm uninstall electron-prebuilt --save-dev
npm install electron@1.7.10 --save
./node_modules/.bin/electron .
```
Attempt one of the broken configurations above to see results.

  
atom/browser/api/atom_api_desktop_capturer.cc
}
void DesktopCapturer::OnSourceNameChanged(int index) {
}
void DesktopCapturer::OnSourceThumbnailChanged(int index) {
}
bool DesktopCapturer::OnRefreshFinished() {
  Emit("finished", media_list_->GetSources());
  return false;
}
mate::Handle<DesktopCapturer> DesktopCapturer::Create(v8::Isolate* isolate) {
  return mate::CreateHandle(isolate, new DesktopCapturer(isolate));
}
void DesktopCapturer::BuildPrototype(
    v8::Isolate* isolate, v8::Local<v8::FunctionTemplate> prototype) {
  prototype->SetClassName(mate::StringToV8(isolate, "DesktopCapturer"));
  mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
      .SetMethod("startHandling", &DesktopCapturer::StartHandling);
}
}  
}  
namespace {
void Initialize(v8::Local<v8::Object> exports, v8::Local<v8::Value> unused,
                v8::Local<v8::Context> context, void* priv) {
  v8::Isolate* isolate = context->GetIsolate();
  mate::Dictionary dict(isolate, exports);
  dict.Set("desktopCapturer", atom::api::DesktopCapturer::Create(isolate));
}
}  
NODE_MODULE_CONTEXT_AWARE_BUILTIN(atom_browser_desktop_capturer, Initialize);