- Electron version: v1.4.0
- Operating system: macOS 10.11.6

Given the following `main.js`:

``` js
const {powerMonitor} = require('electron')
```

I get the following exception:

```
$ electron .
App threw an error during load
TypeError: Cannot match against 'undefined' or 'null'.
    at Object.<anonymous> (/usr/local/lib/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/browser/api/power-monitor.js:2:46)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)
    at Module.require (module.js:483:17)
    at require (internal/module.js:20:19)
    at Object.get [as powerMonitor] (/usr/local/lib/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/browser/api/exports/electron.js:65:14)
    at Object.<anonymous> (electron-test/main.js:1:87)
```

atom/browser/api/atom_api_screen.cc
auto predicate = [id] (const typename T::value_type& item) -> bool {
    return item.id() == id;
  };
  return std::find_if(container->begin(), container->end(), predicate);
}
std::vector<std::string> MetricsToArray(uint32_t metrics) {
  std::vector<std::string> array;
  if (metrics & display::DisplayObserver::DISPLAY_METRIC_BOUNDS)
    array.push_back("bounds");
  if (metrics & display::DisplayObserver::DISPLAY_METRIC_WORK_AREA)
    array.push_back("workArea");
  if (metrics & display::DisplayObserver::DISPLAY_METRIC_DEVICE_SCALE_FACTOR)
    array.push_back("scaleFactor");
  if (metrics & display::DisplayObserver::DISPLAY_METRIC_ROTATION)
    array.push_back("rotation");
  return array;
}
}  
Screen::Screen(v8::Isolate* isolate, display::Screen* screen)