power: Add DisplayWatcher and DisplayInfo.

Add a new DisplayWatcher class that can be used to learn
about changes to connected displays. This replaces
Input::IsDisplayConnected() and also returns the I2C device
that can be used to communicate with the display, which is
needed to control external displays' brightness levels.

Also create a new powerd/system/display subdirectory and
move DisplayPowerSetter there.

BUG=chromium:315371
TEST=manual; also added unit tests

Change-Id: I56731b97d25935e816dfc7787c388a51a3e7ce74
Reviewed-on: https://chromium-review.googlesource.com/189023
Tested-by: Daniel Erat <derat@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
Commit-Queue: Daniel Erat <derat@chromium.org>
29 files changed