* 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 gfx::PointF& val) {
  mate::Dictionary dict = mate::Dictionary::CreateEmpty(isolate);
  dict.SetHidden("simple", true);
  dict.Set("x", val.x());
  dict.Set("y", val.y());
  return dict.GetHandle();
}
bool Converter<gfx::PointF>::FromV8(v8::Isolate* isolate,
                                    v8::Local<v8::Value> val,
                                    gfx::PointF* out) {
  mate::Dictionary dict;
  if (!ConvertFromV8(isolate, val, &dict))
    return false;
  float x, y;
  if (!dict.Get("x", &x) || !dict.Get("y", &y))
    return false;
  *out = gfx::PointF(x, y);
  return true;
}
v8::Local<v8::Value> Converter<gfx::Size>::ToV8(v8::Isolate* isolate,