* Output of `node_modules/.bin/electron --version`: 2.0.8
* Operating System (Platform and Version): macOS (reproducible on all platforms)

**Expected Behavior**
When using `electron.screen.getDisplayNearestPoint()` with a not rounded value (like 0.5), electron should round it properly, or at least not crash. (or it should be documented, with a clearer error)

**Actual behavior**
<img width="532" alt="screen shot 2018-09-07 at 14 43 42" src="https://user-images.githubusercontent.com/1311607/45219858-84fb9780-b2ac-11e8-8e7e-75ba8312f20b.png">

TypeScript did not catch this error because the value is still a number and there is no concept of "integer-only" variables in JS

**To Reproduce**
Anywhere on `app.ready`

``` javascript 
const display = electron.screen.getDisplayNearestPoint({
  x: 100.5, // HERE -> x_x
  y: 100
});
```

atom/common/native_mate_converters/gfx_converter.cc
const display::Display::TouchSupport& val) {
    switch (val) {
      case display::Display::TouchSupport::AVAILABLE:
        return StringToV8(isolate, "available");
      case display::Display::TouchSupport::UNAVAILABLE:
        return StringToV8(isolate, "unavailable");
      default:
        return StringToV8(isolate, "unknown");
    }
  }
};
v8::Local<v8::Value> Converter<display::Display>::ToV8(
    v8::Isolate* isolate,
    const display::Display& val) {
  mate::Dictionary dict = mate::Dictionary::CreateEmpty(isolate);
  dict.SetHidden("simple", true);
  dict.Set("id", val.id());
  dict.Set("bounds", val.bounds());
  dict.Set("workArea", val.work_area());
  dict.Set("size", val.size());
  dict.Set("workAreaSize", val.work_area_size());
  dict.Set("scaleFactor", val.device_scale_factor());
  dict.Set("rotation", val.RotationAsDegree());
  dict.Set("touchSupport", val.touch_support());
  return dict.GetHandle();
}
}