Avoid reading command line switches.

We have always used options in command line switches to determine
if we need to initialize wayland connection or not i.e. when in
GPU process/thread. This patch changes it so that we depend on
ozone specific calls to do this. Now, initialization is done in
the following manner:
1) Wayland connection is made the first time InitializeHardware is
   called.
2) Any dispatcher related initialization is done in
   GetAcceleratedWidget for Browser process and RealizeAccelerated-
   Widget for GPU process.

Note that aim of the patch is not to fix existing channel connection
issue, this will be handled after support for offscreen rendering is
enabled.

This fixes couple of things for us:

1) As per Discussion with spang IIRC, we have a layering violation
   in Ozone display. Ozone implementations shouldn't know directly
   whether the execution is happening on GPU process or not.
2) Crash in single-process mode. We now ensure that
   EventFactoryWayland is initialized only after root window
   is constructed. This makes sure that EventFactoryWayland is
   registered to watch file descriptor and as task observer
   only after MessagePumpOzone has been set up properly.