Both BacklightBrightness and DDCutilDisplay now derive from this.Not yet used in ScreenBrightnessController.
Includes an extra commit to temporarily also derive DDCutilBrightness from the new interface, so we can start simplifying ScreenBrightnessController in the next MR. The larger goal (realized hopefully in the next MR) is to get rid of the pervasive if/else blocks in ScreenBrightnessController and make it work from a flat list of displays.
This MR is based on @littlesweet's not-yet-merged DDC brightness write delay commit from !318 that removes brightness animations from ScreenBrightnessController. It will disappear after a rebase once that gets merged.