Dispatcher: Make DisplayRun logic similar to HandleFlush.

We have a different logic to flush display in single and multi
process mode. This CL changes the logic in DisplayRun to be
similar to HandleFlush. This change is also in sync with
recommendation in Wayland documentation to avoid any race issues.
OzoneDisplay/singleprocess: Use Dispatcher to poll for wayland events.

So far, in single process mode we used EventFactoryWayland and
dispatcher in multi process mode to poll for wayland events.
This CL changes it so that we use dispatcher in all cases.
Events: Remove EventFactoryWayland class.

OzoneDisplay doesn't use EventFactoryWayland to poll for wayland
events. This class is removed with this CL.
Dispatcher: Move dispatcher from OzoneDisplay to WaylandDisplay.

Dispatcher is responsibile to poll on Wayland display fd and
flush/dispatch Wayland events. Also, dispatcher should exist only
if WaylandDisplay exists. Thus, it would be useful if
WaylandDisplay manages the ownership of WaylandDispatcher.
This CL makes changes in this direction.
Dispatcher: Refactor dispatcher.

Dispatcher should be only used to poll on wayland display fd in a
separate thread and nothing else. The changes can be summarized
as follows:

1) Remove apis related to tasks.
2) Dispatcher inherits SimpleThread, instead of Thread and avoids
   MessageLoop.

Now, Dispatcher starts polling with a call to StartProcessingEvents
and stops polling with a call to StopProcessingEvents. We use a
WaitableEvent to signal when the polling needs to be stopped.
Dispatcher tries to avoid any race issues while flushing/dispatching
wayland events. Now, it should be safe to flush WaylandDisplay from
the main thread as needed(by any other class), but should be avoided.
Rename WaylandDispatcher as WaylandDisplayPollThread.
Wayland: Pass wl_display instead of display fd to PollThread.

WaylandPollThread is responsible for polling on the display fd and
flushing wayland events. PollThread takes fd and queries wl_display
from WaylandDisplay every time. It's bit confusing from the api's
as to how PollThread maps fd with wl_display (to flush etc). It would
make it clean, if wl_display is passed during construction phase
instead of fd. This CL makes necessary changes in this direction.