[WK1][GTK] Add support to use Threaded Coordinated Graphics.
https://bugs.webkit.org/show_bug.cgi?id=117227

Reviewed by NOBODY (OOPS!).

This patch adds supports for the tiled backing store and the threaded
coordinated graphics, because coordianted graphics is
tightly coupled with tiled backing store.

By implementing ThreadedCoordinatedCompositor, accelerated compositing
using Coordinated Graphics in WebKit1 Gtk+ is enabled.
ThreadedCoordinatedCompositor sends commands to CoordinatedCompositingThread
which owns actual run-loop for compositing.

This patch also adds ThreadedCompositingContext in WebKit/gtk/WebCoreSupport,
to bind with webkit1 gtk port.

Threaded compositing is disabled as a default. To enable this feature,
--enable-threaded-compositor option should be passed to build script.

If we use threaded compositor without thread-safe XCB connection,
it corrupts xcb's message queue, and terminates the process.

To fix this problem, we needed to call XInitThreads before calling
gtk_init().

No new test, because it is in experimental stage.
[WK2][GTK] Implement threaded compositing for WebKit2 Gtk.
https://bugs.webkit.org/show_bug.cgi?id=118265

Reviewed by NOBODY (OOPS!).

By implementing ThreadedCoordinatedLayerTreeHost, this patch supports
threaded compositor for WK2. In this initial implementation, threaded
compositor only supports fixedLayout.

COORDINATED_GRAPHICS_IPC is introduced to classify IPC specific codes
from Coordinated Graphics.

Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp :
    Calls XInitThreads to use thread-safe xlib.

No new tests, this is an experimental feature.
[WK2][GTK] Apply scroll-offset and scale to mouse event in UIProcess.
https://bugs.webkit.org/show_bug.cgi?id=117232

Reviewed by NOBODY (OOPS!).

We need to apply scrolling and scaling to mouse event when we are in
delegatedScrolling. To do that, scroll-offset should be cached in
WebPageProxy, because mouse event should be transformed at its creation
time.

No new tests, covered by existing tests.
[Threaded Compositor] Invalid scale factor stored in UI Process when page is loaded.

Reviewed by NOBODY (OOPS!).

WebPage::didCommitLoad ignores calculated scale factor in
PageViewportController and sets page scale factor to 1. This causes
hit-test failure in UI Process.

This patch modifies to recalculate scale factor when new page is loaded.
Then PageViewportController sends updated scale factor to UI Process.