Events: Use EventConverterOzoneWayland to notify native output events.

We use EventConverterOzoneWayland to notify all native events coming from
Wayland to Aura. Output related events violate this and are sent directly to
OzoneDisplay. With this CL, we use EventConverterOzoneWayland to notify output
related events too. This change unifies the way native events are handled,
dispatched to various observers and removes un-necessary friend class
declaration in OzoneDisplay.
OzoneDisplay: Make OzoneProcessObserver inherit DestructionObserver.

Currently, OzoneDisplay inherits MessageLoop::DestructionObserver and informs
OzoneProcessObserver whenever MessageLoop is destroyed. This CL, changes it
so that OzoneProcessObserver inherits MessageLoop::DestructionObserver and gets
notified directly instead of OzoneDisplay having to do this.
OzoneDisplay: Remove SetWindowChangeObserver API.

WindowTreeHostDelegateWayland registers itself as WindowChangeObserver via
OzoneDisplay. This seems un-necessary as WindowTreeHostDelegateWayland can
do this directly via EventConverterOzoneWayland. This CL makes necessary
changes for this.

Fixes #186