[sensors] [mac] Implement ambient light sensor for macOS

Use IOKit to get information from the platform and callback
when the value of the sensor is changing.

Make sure to provide the time stamp as well (which is required
by the spec). The data is passed in a shared buffer using
seqlock mechanism.

The patch also moves around code in content/device_sensors
because they are needed by this implementation. This will
avoid device/ to depend on content/. The default frequency
to pull the ambient light is now inside device/sensors/public/cpp
(shared amongst platforms). The method to convert the value
returned by the LMU sensor (on mac machines) to lux is moved
to device/sensors/public/cpp) as well.

Finally the patch also add a smart pointer to handle IONotificationPortRef.
There are other opportunities in the chromium codebase to use that new smart
pointer, I will land a follow up CL.

Intent to Implement: https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/TkfdVqYAYiE/xLGN2b1-AAAJ

    BUG=606766

Review-Url: https://codereview.chromium.org/2332903002
Cr-Commit-Position: refs/heads/master@{#424479}
16 files changed