[Gtk] Modified to use thread-safe XCB connection.

Reviewed by Kwang Yul Seo.

If we use CanvasGLPaintingThread 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().
Add compositing thread in LayerTreeCompositorThread

Clean up needed.
Add FPS Sampler
[WK2] Bug on ASSERT code in CoordinatedBackingStore.cpp
https://bugs.webkit.org/show_bug.cgi?id=102465

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-11-16
Reviewed by Noam Rosenthal.

The ASSERT code should be fixed because the 'operator>=' is not defined for WebCore::IntSize.

* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStoreTile::swapBuffers):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134912 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Dirty Code : call setVisibleContentsRect on sizeDidChanged to draw
nonCompositingLayer.
Try to modified to use RunLoop.
Replace Timer in LayerTreeCoordinator to RunLoop::Timer

Authored by ryumiel
[Gtk] Support using GLContexts from multiple threads

Reviewed by Kwang Yul Seo.

Current implementation assumes that GLContext is only used in the main thread.
However, to support using GLContext from painting thread, we need to change it
to thread local. Therefore, ASSERT(isMainThread()) is removed and GLContext is
changed to thread local.
Coordinated Graphics: support the "freeze animations" API
https://bugs.webkit.org/show_bug.cgi?id=100703

Reviewed by Noam Rosenthal.

Typo fix after previous patch.

No new tests, it's just a typo that only takes effect in the browser.

* platform/graphics/GraphicsLayerAnimation.cpp:
(WebCore::GraphicsLayerAnimation::GraphicsLayerAnimation):
Initialize members.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134952 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Conflicts:

	Source/WebCore/ChangeLog
[Gtk] RunLoop::run shuold run current thread's run loop

https://bugs.webkit.org/show_bug.cgi?id=107887
Reviewed by NOBODY (OOPS!)

Currently, RunLoop in Gtk can use just main thread's event loop.
But the other ports are implemented to use RunLoop in sub threads.

This patch makes RunLoop constructor create new context, not use default
context.
But in the main thread still uses default context to use main event loop
since there is some codes using glib directly (e.g. in
LayerTreeHostGtk::scheduleLayerFlush).

No new tests.