DesktopAura: Make Screen implement OutputChangeObserver interface.

Currently, OzoneDisplay implements OutputChangeObserver and informs Screen
of any output changes. Eventually, goal is that OzoneDisplay will have no
information about DesktopAura, this CL makes Screen implement
OutputChangeObserver interface. Now, the only reference to DesktopScreen
in OzoneDisplay is it's creation. This CL also removes the logic related to
updating spec_ in OzoneDisplay as we don't use it and upstream has completely
removed it's usage. We need to update our revision before removing
DefaultDisplaySpec.
Cleanup: Remove unnecessary display include in EGLWindow.
WaylandDisplay: Make Destroy and Create functions private.

Any Widget state changes needs to be handled via WindowStateChangeHandler
interface. We have CreateAcceleratedSurface and DestroyWindow which shouldn't
be used outside WaylandDisplay now. This CL makes these functions private.
Most of the changes are related to rearranging code to ensure the order of
declaration and implementation is same.
OzoneDisplay: Move RealizeAcceleratedWidget logic to WaylandDisplay.

We moved all Windowstate change handling to WaylandDisplay. For
completeness, this patch moves RealizeAcceleratedWidget to WaylandDisplay too.
This also helps remove any unnecessary WaylandWindow includes in
OzoneDisplay.