Start to decouple display::Display from ws::PlatformDisplay.

External window mode will be saner if ws::PlatformDisplay is just a
pixel area and wasn't linked to the concept of display::Display. This is
because there won't be a ws::PlatformDisplay per display::Display in
external window mode.

This CL aims to simplify ws::PlatformDisplay so it is closer to just
understanding it's pixel size. Leave TODOs where further changes are
necessary.

1. Remove non-viewport information from ViewportMetrics. This way
   ws::PlatformDisplay only knows about the pixel size. It has to use
   it's delegate to get the display::Display (which might eventually
   become unnecessary).
2. Pass display::Display along with ViewportMetrics to
   ScreenManagerDelegate. This contains all the information removed from
   ViewportMetrics.
3. Delete PlatformDisplayInitParams. It's just the root ServerWindow +
   ViewportMetrics after changes so that can be passed in directly.
4. Update TestScreenManager to take a Display instead of a
   ViewportMetrics and update tests.
5. Remove a few unnecessary bits of the PlatformDisplay interface.

BUG=693081

Review-Url: https://codereview.chromium.org/2736943003
Cr-Commit-Position: refs/heads/master@{#456565}
30 files changed