[TyGL] Initial commit of TyGL port.

Initial commit for TyGL port on the top of EFL-WebKit. TyGL is part of WebKit
and provides 2D-accelerated GPU rendering on embedded systems. The engine is
purely GPU based (so OpenGL ES 2.0 - or higher - is mandatory).

Check out http://webkit.sed.hu for more details!

Patch by Gabor Abraham, Zsolt Borbely, Zoltan Herczeg, Kristof Kosztyo,
Szilard Ledan, Peter Molnar, Denis Nomiyama, Simon Pena, Anton Obzhirov,
Soma Schliszka, Simon St. James and Zoltan Janos Szabo.

Changes to be committed:
	new file:   LayoutTests/tygl/DarkTurquoise-125px.png
	new file:   LayoutTests/tygl/DarkTurquoise-1px.png
	new file:   LayoutTests/tygl/Salmon-125px.png
	new file:   LayoutTests/tygl/Salmon-1px.png
	new file:   LayoutTests/tygl/bezier-stroking.html
	new file:   LayoutTests/tygl/bitmap-solid.html
	new file:   LayoutTests/tygl/blending_modes/blendmode_ducky.html
	new file:   LayoutTests/tygl/blending_modes/blendmode_rects.html
	new file:   LayoutTests/tygl/blending_modes/blendmode_shapes.html
	new file:   LayoutTests/tygl/blending_modes/ducky.png
	new file:   LayoutTests/tygl/blending_modes/ducky_color-burn.png
	new file:   LayoutTests/tygl/blending_modes/ducky_color-dodge.png
	new file:   LayoutTests/tygl/blending_modes/ducky_color.png
	new file:   LayoutTests/tygl/blending_modes/ducky_darken.png
	new file:   LayoutTests/tygl/blending_modes/ducky_difference.png
	new file:   LayoutTests/tygl/blending_modes/ducky_exclusion.png
	new file:   LayoutTests/tygl/blending_modes/ducky_hard-light.png
	new file:   LayoutTests/tygl/blending_modes/ducky_hue.png
	new file:   LayoutTests/tygl/blending_modes/ducky_lighten.png
	new file:   LayoutTests/tygl/blending_modes/ducky_luminosity.png
	new file:   LayoutTests/tygl/blending_modes/ducky_multiply.png
	new file:   LayoutTests/tygl/blending_modes/ducky_normal.png
	new file:   LayoutTests/tygl/blending_modes/ducky_overlay.png
	new file:   LayoutTests/tygl/blending_modes/ducky_saturation.png
	new file:   LayoutTests/tygl/blending_modes/ducky_screen.png
	new file:   LayoutTests/tygl/blending_modes/ducky_soft-light.png
	new file:   LayoutTests/tygl/blending_modes/rainbow.png
	new file:   LayoutTests/tygl/blending_modes/rects_test1.png
	new file:   LayoutTests/tygl/blending_modes/rects_test2.png
	new file:   LayoutTests/tygl/blending_modes/rects_test3.png
	new file:   LayoutTests/tygl/blending_modes/shape_color-burn.png
	new file:   LayoutTests/tygl/blending_modes/shape_color-dodge.png
	new file:   LayoutTests/tygl/blending_modes/shape_color.png
	new file:   LayoutTests/tygl/blending_modes/shape_darken.png
	new file:   LayoutTests/tygl/blending_modes/shape_difference.png
	new file:   LayoutTests/tygl/blending_modes/shape_exclusion.png
	new file:   LayoutTests/tygl/blending_modes/shape_hard-light.png
	new file:   LayoutTests/tygl/blending_modes/shape_hue.png
	new file:   LayoutTests/tygl/blending_modes/shape_lighten.png
	new file:   LayoutTests/tygl/blending_modes/shape_luminosity.png
	new file:   LayoutTests/tygl/blending_modes/shape_multiply.png
	new file:   LayoutTests/tygl/blending_modes/shape_normal.png
	new file:   LayoutTests/tygl/blending_modes/shape_overlay.png
	new file:   LayoutTests/tygl/blending_modes/shape_saturation.png
	new file:   LayoutTests/tygl/blending_modes/shape_screen.png
	new file:   LayoutTests/tygl/blending_modes/shape_soft-light.png
	new file:   LayoutTests/tygl/border-test.html
	new file:   LayoutTests/tygl/bullets-clipping.html
	new file:   LayoutTests/tygl/bullets-colors.html
	new file:   LayoutTests/tygl/bullets.html
	new file:   LayoutTests/tygl/clip.html
	new file:   LayoutTests/tygl/complex-clip-and-path.html
	new file:   LayoutTests/tygl/cumulative-clip-example.html
	new file:   LayoutTests/tygl/empty-clipping.html
	new file:   LayoutTests/tygl/global-composite-operation.html
	new file:   LayoutTests/tygl/gradient-transforms.html
	new file:   LayoutTests/tygl/image-drawpattern-multi-tile1.html
	new file:   LayoutTests/tygl/image-drawpattern-multi-tile2.html
	new file:   LayoutTests/tygl/image-drawpattern-multi-tile3.html
	new file:   LayoutTests/tygl/image-drawpattern-single-tile-complex-transform1.html
	new file:   LayoutTests/tygl/image-drawpattern-single-tile-simple-transform1.html
	new file:   LayoutTests/tygl/image-drawpattern-single-tile-simple-transform2.html
	new file:   LayoutTests/tygl/imagebuffer-clip.svg
	new file:   LayoutTests/tygl/imagebuffer-imagedata.html
	new file:   LayoutTests/tygl/img_lamp.jpg
	new file:   LayoutTests/tygl/large-radial-gradient.html
	new file:   LayoutTests/tygl/line-stroking.html
	new file:   LayoutTests/tygl/path-patterns-and-gradients.html
	new file:   LayoutTests/tygl/pattern.html
	new file:   LayoutTests/tygl/quick-clip-test.html
	new file:   LayoutTests/tygl/resources/simple-tile-horizontal.png
	new file:   LayoutTests/tygl/resources/simple-tile-vertical.png
	new file:   LayoutTests/tygl/resources/simple-tile.png
	new file:   LayoutTests/tygl/resources/simple_image.png
	new file:   LayoutTests/tygl/resources/winding-stripes-background-pattern-small.jpg
	new file:   LayoutTests/tygl/strokeRect.html
	new file:   LayoutTests/tygl/trapezoid-builder.html
	new file:   LayoutTests/tygl/ui-elements.html
	modified:   Source/WTF/wtf/efl/UniquePtrEfl.h
	new file:   Source/WTF/wtf/tygl/Evas_TyGL.h
	modified:   Source/WebCore/PlatformEfl.cmake
	new file:   Source/WebCore/Resources/tygl/uiElements.png
	modified:   Source/WebCore/platform/efl/EflScreenUtilities.cpp
	modified:   Source/WebCore/platform/efl/RenderThemeEfl.cpp
	modified:   Source/WebCore/platform/efl/RenderThemeEfl.h
	modified:   Source/WebCore/platform/graphics/Gradient.h
	modified:   Source/WebCore/platform/graphics/GraphicsContext.cpp
	modified:   Source/WebCore/platform/graphics/GraphicsContext.h
	modified:   Source/WebCore/platform/graphics/GraphicsContext3D.h
	modified:   Source/WebCore/platform/graphics/ImageBuffer.h
	modified:   Source/WebCore/platform/graphics/ImageBufferData.h
	modified:   Source/WebCore/platform/graphics/NativeImagePtr.h
	modified:   Source/WebCore/platform/graphics/OpenGLShims.h
	modified:   Source/WebCore/platform/graphics/Path.h
	modified:   Source/WebCore/platform/graphics/Pattern.h
	modified:   Source/WebCore/platform/graphics/SimpleFontData.h
	modified:   Source/WebCore/platform/graphics/efl/EvasGLContext.h
	modified:   Source/WebCore/platform/graphics/efl/EvasGLSurface.h
	modified:   Source/WebCore/platform/graphics/efl/ImageEfl.cpp
	modified:   Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp
	modified:   Source/WebCore/platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp
	modified:   Source/WebCore/platform/graphics/freetype/FontPlatformData.h
	modified:   Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp
	modified:   Source/WebCore/platform/graphics/gstreamer/ImageGStreamerCairo.cpp
	new file:   Source/WebCore/platform/graphics/harfbuzz/HarfBuzzFaceFreeType.cpp
	modified:   Source/WebCore/platform/graphics/opengl/GLPlatformSurface.cpp
	modified:   Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
	modified:   Source/WebCore/platform/graphics/surfaces/egl/EGLSurface.cpp
	modified:   Source/WebCore/platform/graphics/surfaces/egl/EGLSurface.h
	modified:   Source/WebCore/platform/graphics/surfaces/egl/EGLXSurface.cpp
	modified:   Source/WebCore/platform/graphics/surfaces/egl/EGLXSurface.h
	modified:   Source/WebCore/platform/graphics/surfaces/glx/X11Helper.cpp
	modified:   Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp
	modified:   Source/WebCore/platform/graphics/texmap/coordinated/CompositingCoordinator.cpp
	new file:   Source/WebCore/platform/graphics/tygl/ArenaTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/ArenaTyGL.h
	new file:   Source/WebCore/platform/graphics/tygl/BitmapImageTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/ClipRectTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/ClipRectTyGL.h
	new file:   Source/WebCore/platform/graphics/tygl/ClippedTransformedQuadTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/DrawingBufferTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/FontCustomPlatformData.cpp
	new file:   Source/WebCore/platform/graphics/tygl/FontCustomPlatformData.h
	new file:   Source/WebCore/platform/graphics/tygl/FontTextureAtlasTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/FontTextureAtlasTyGL.h
	new file:   Source/WebCore/platform/graphics/tygl/FontTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/GlyphPageTreeNodeTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/GradientTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/GraphicsContext3DPrivate.h
	new file:   Source/WebCore/platform/graphics/tygl/GraphicsContext3DTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/GraphicsContextTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/ImageBufferDataTyGL.h
	new file:   Source/WebCore/platform/graphics/tygl/ImageBufferTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/ImageDecoderTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/ImageTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/NativeImageTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/NativeImageTyGL.h
	new file:   Source/WebCore/platform/graphics/tygl/PathTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/PathTyGL.h
	new file:   Source/WebCore/platform/graphics/tygl/PlatformContextTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/PlatformContextTyGL.h
	new file:   Source/WebCore/platform/graphics/tygl/ScaledFontTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/ScaledFontTyGL.h
	new file:   Source/WebCore/platform/graphics/tygl/ShaderBlendTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/ShaderBorderLineTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/ShaderBulletPointTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/ShaderClipTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/ShaderCommonTyGL.h
	new file:   Source/WebCore/platform/graphics/tygl/ShaderFontTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/ShaderGradientTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/ShaderImageTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/ShaderPathTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/ShaderPatternTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/ShaderPipelineTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/ShaderRectTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/ShaderSolidColorTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/ShaderUITyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/SimpleFontDataTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/StrokePathTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/TextureFontTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/TextureFontTyGL.h
	new file:   Source/WebCore/platform/graphics/tygl/TileTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/TransformTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/TransformTyGL.h
	new file:   Source/WebCore/platform/graphics/tygl/TrapezoidBuilderTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/TrapezoidBuilderTyGL.h
	new file:   Source/WebCore/platform/graphics/tygl/TrapezoidListTyGL.cpp
	new file:   Source/WebCore/platform/graphics/tygl/TrapezoidListTyGL.h
	new file:   Source/WebCore/platform/graphics/tygl/TyGLDefs.h
	new file:   Source/WebCore/platform/tygl/RenderThemeTyGL.cpp
	new file:   Source/WebCore/platform/tygl/RenderThemeTyGL.h
	new file:   Source/WebCore/platform/tygl/ScrollbarThemeTyGL.cpp
	new file:   Source/WebCore/platform/tygl/ScrollbarThemeTyGL.h
	new file:   Source/WebCore/platform/tygl/UiAtlasTyGL.h
	modified:   Source/WebKit2/CMakeLists.txt
	modified:   Source/WebKit2/PlatformEfl.cmake
	new file:   Source/WebKit2/Shared/API/c/tygl/WKImageTyGL.cpp
	new file:   Source/WebKit2/Shared/API/c/tygl/WKImageTyGL.h
	modified:   Source/WebKit2/Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp
	modified:   Source/WebKit2/Shared/ShareableBitmap.cpp
	modified:   Source/WebKit2/Shared/ShareableBitmap.h
	new file:   Source/WebKit2/Shared/tygl/ShareableBitmapTyGL.cpp
	modified:   Source/WebKit2/UIProcess/API/C/efl/WKViewEfl.cpp
	modified:   Source/WebKit2/UIProcess/API/efl/EwkView.cpp
	modified:   Source/WebKit2/UIProcess/API/efl/EwkView.h
	modified:   Source/WebKit2/UIProcess/API/efl/SnapshotImageGL.cpp
	modified:   Source/WebKit2/UIProcess/API/efl/SnapshotImageGL.h
	modified:   Source/WebKit2/UIProcess/API/efl/ewk_favicon_database.cpp
	modified:   Source/WebKit2/UIProcess/API/efl/ewk_favicon_database_private.h
	modified:   Source/WebKit2/UIProcess/BackingStore.h
	modified:   Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp
	modified:   Source/WebKit2/UIProcess/efl/WebViewEfl.cpp
	modified:   Source/WebKit2/UIProcess/efl/WebViewEfl.h
	new file:   Source/WebKit2/UIProcess/tygl/BackingStoreTyGL.cpp
	modified:   Source/WebKit2/WebProcess/WebPage/efl/WebPageEfl.cpp
	modified:   Source/cmake/OptionsEfl.cmake
	modified:   Source/cmake/WebKitFeatures.cmake
	modified:   Source/cmakeconfig.h.cmake
	modified:   Tools/Scripts/webkitperl/FeatureList.pm
	modified:   Tools/WebKitTestRunner/PlatformEfl.cmake
	modified:   Tools/WebKitTestRunner/efl/PlatformWebViewEfl.cpp
	new file:   Tools/WebKitTestRunner/tygl/PngUtilsTyGL.h
	new file:   Tools/WebKitTestRunner/tygl/TestInvocationTyGL.cpp
	modified:   Tools/efl/jhbuild.modules