EXO: Move zaura_shell interface and wl_output out of server.cc

Refactor zaura_shell and wl_output out of server.cc to isolate generic
Wayland API implementations from ChromeOS specific ones. This will allow
ChromeOS specific APIs to be conditionally compiled on builds that don't
need them. This helps port EXO to Chromecast where Ash (ChromeOS' window
manager) isn't present.

Changes:
 * Move zaura_shell into its own file since this won't be compiled on
 Chromecast.
 * Move Output and WaylandDisplayObserver into their own files since
 these are shared between zaura_shell, wl_output and Server.
 * Move wl_output into its own file since all its dependencies have been
 refactored out of server.cc.

Bug: 896710
Test: Run exo_unittests
Change-Id: I51b42301b5b7fcf53b1879373a2b50db6e799dd1
Reviewed-on: https://chromium-review.googlesource.com/c/1328233
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Reviewed-by: Daniel Nicoara <dnicoara@chromium.org>
Commit-Queue: Daniel Nicoara <dnicoara@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611410}
11 files changed