IPC: Move DisplayChannel and host to content namespace.

DisplayChannel and Host are very specific to our needs as we do everything
related to a window system in GPU process. This has to be really inbuilt in
content layer. Now, both the classes are moved to content namespace and
eventually should be build as part of content target.
IPC: Introduce OzoneChannelHostFactory.

Currently, OzoneDisplay is responsible for establishing the Channel
connection between ChannelHost and Channel. This should be transparent
in OzoneDisplay and should be handled in content. This patch introduces
OzoneChannelHostFactory which will be responsible for either establishing
IPC connection with DisplayChannel or just creating InProcessEventConverter,
depending on inprocess GPU usage. The idea here is that, we should be able
to establish the Browser process side connection in BrowserMainLoop as we
do in case of BrowserGpuChannelHostFactory.
Move EventConverterOzoneWayland initialization to OzoneDisplayChannel.

Now, OzoneChannelHostFactory is responsible for properly routing the messages
over IPC or in-process. This patch moves similar responsibility in GPU process
to OzoneDisplayChannel. This ensures that all this is transparent in ui layer
and eventually handled completely in content.
Move ozone/impl/ipc to ozone/content
Content: Move logic to send messages over IPC/in-process to content.

We should define the necessary interfaces for handling communication between
GPU and Browser process in Events and the actual implementation should reside
in content. This makes the actual implementation and in-process/multi-process
transparent to ui and wayland. This patch moves the following classes to
content folder:
1)EventConverterInProcess.
2)RemoteEventDispatcher.
3)RemoteStateChangeHandler.
Move everything under content/ to content namespace.
Content: Rename OzoneDisplayChannel* as OzoneChannel.

This is in preparation to move the logic for creating OzoneDisplayChannel
and host away from OzoneDisplay. This patch renames existing
OzoneDisplayChannel and host as OzoneChannel and OzoneChannelHost.
Add support to provide external ozone files in events, gfx and views.

Ozone implementations for SFO, EventFactory and DesktopFactory should be
build as part of the respective target (i.e. gfx, events and views) and
Ozone should depend on them. Currently, this is not the case and we
build everything together into one wayland target. This patch adds
support for Ozone implementations to pass and build factory implementations
as part of the right target.
Move IMEStateChangeHandler to events/

All interfaces related to events are present in events folder. This patch
now moves IMEStateChangeHandler from ime to events, so we have all the needed
interfaces together.
Build everything in events/ as part of Event target only.
Content: Add support to initialize OzoneChannel.

In Wayland case all window events need to be sent to GPU process. We have
a minimal IPC implementation, handling messages very specific to our needs.
This patch adds support to register OzoneChannel and Host as MessageFilters
after the succesfull launch of GPU and Browser process respectively.
Content: Compile content/ as part of content_common target only.

Unfortunately, the trick we could do with *.gyp files, doesn't seem to
work with *.gypi files. Thus, I had to include the files in
content_common.gypi file directly. This patch ensures that we build content
specific files only with content_common.
Remove all OzoneChannel related things from OzoneDisplay.

Now, OzoneChannelHostFactory is responsible for setting up ChannelHost
and in GPU process, we do it in GpuMain. This patch removes all related
code from OzoneDisplay.

Fixes #214