2013-11-20  Antonio Gomes  <a1.gomes@sisa.samsung.com>

        Update our cl-gl implementation to match the spec
        Issue #244

        Reviewed by Igor.

        Summary
        - Implemented cl-gl extension as per the spec.
        - Nbody and Deform demos updated.
        - Replaced getExtension by enableExtension.
          Made the associated changes in WebCLExtensionsAccessor.
          Removed custom bindings for getExtension method from
          JSWebCLCustom, JSWebCLPlatformCustom, JSWebCLDevice.
        - Moved all code from WebCLGL***.cpp|h|idl to the associated
          WebCL***.cpp|h|idl files, under a WebGL build guard (mostly)
        - Removed LOTS OF TEMPLATES and HACKs!!!

        Todo:
        - Verify and fix other demos (SIDIA)
        - Fix no-WebGL build
        - cl-gl proper error handling; issue #227

        * DerivedSources.make:
        * Modules/webcl/WebCL.cpp:
        (WebCore::WebCL::createContext):
        * Modules/webcl/WebCL.h:
        * Modules/webcl/WebCL.idl:
        * Modules/webcl/WebCLBuffer.cpp:
        (WebCore::WebCLBuffer::create):
        (WebCore::WebCLBuffer::cacheGLObjectInfo):
        * Modules/webcl/WebCLBuffer.h:
        * Modules/webcl/WebCLBuffer.idl:
        * Modules/webcl/WebCLCommandQueue.cpp:
        (WebCore::WebCLCommandQueue::create):
        (WebCore::WebCLCommandQueue::enqueueAcquireGLObjects):
        (WebCore::WebCLCommandQueue::enqueueReleaseGLObjects):
        * Modules/webcl/WebCLCommandQueue.h:
        * Modules/webcl/WebCLCommandQueue.idl:
        * Modules/webcl/WebCLContext.cpp:
        (WebCore::WebCLContext::create):
        (WebCore::WebCLContext::createCommandQueue):
        (WebCore::WebCLContext::createFromGLBuffer):
        (WebCore::WebCLContext::createFromGLRenderbuffer):
        (WebCore::WebCLContext::createFromGLTexture):
        * Modules/webcl/WebCLContext.h:
        * Modules/webcl/WebCLContext.idl:
        * Modules/webcl/WebCLContextProperties.cpp:
        (WebCore::WebCLContextProperties::create):
        (WebCore::WebCLContextProperties::WebCLContextProperties):
        (WebCore::WebCLContextProperties::glContext):
        (WebCore::WebCLContextProperties::setGLContext):
        (WebCore::WebCLContextProperties::computeContextProperties):
        * Modules/webcl/WebCLContextProperties.h:
        (WebCore::WebCLContextProperties::isGLCapable):
        * Modules/webcl/WebCLDevice.idl:
        * Modules/webcl/WebCLExtensionsAccessor.cpp:
        (WebCore::::enableExtension):
        * Modules/webcl/WebCLExtensionsAccessor.h:
        (WebCore::WebCLExtensionsAccessor::~WebCLExtensionsAccessor):
        (WebCore::WebCLExtensionsAccessor::WebCLExtensionsAccessor):
        * Modules/webcl/WebCLGL.cpp: Removed.
        * Modules/webcl/WebCLGL.h: Removed.
        * Modules/webcl/WebCLGL.idl: Removed.
        * Modules/webcl/WebCLGLBuffer.cpp: Removed.
        * Modules/webcl/WebCLGLBuffer.h: Removed.
        * Modules/webcl/WebCLGLBuffer.idl: Removed.
        * Modules/webcl/WebCLGLCommandQueue.cpp: Removed.
        * Modules/webcl/WebCLGLCommandQueue.h: Removed.
        * Modules/webcl/WebCLGLCommandQueue.idl: Removed.
        * Modules/webcl/WebCLGLContext.cpp: Removed.
        * Modules/webcl/WebCLGLContext.h: Removed.
        * Modules/webcl/WebCLGLContext.idl: Removed.
        * Modules/webcl/WebCLGLContextProperties.cpp: Removed.
        * Modules/webcl/WebCLGLContextProperties.h: Removed.
        * Modules/webcl/WebCLGLContextProperties.idl: Removed.
        * Modules/webcl/WebCLGLImage.cpp: Removed.
        * Modules/webcl/WebCLGLImage.h: Removed.
        * Modules/webcl/WebCLGLImage.idl: Removed.
        * Modules/webcl/WebCLImage.cpp:
        (WebCore::WebCLImage::create):
        (WebCore::WebCLImage::getGLTextureInfo):
        (WebCore::WebCLImage::cacheGLObjectInfo):
        * Modules/webcl/WebCLImage.h:
        * Modules/webcl/WebCLImage.idl:
        * Modules/webcl/WebCLMemoryObject.cpp:
        (WebCore::WebCLMemoryObject::sharesGLResources):
        (WebCore::WebCLMemoryObject::getGLObjectInfo):
        * Modules/webcl/WebCLMemoryObject.h:
        * Modules/webcl/WebCLPlatform.idl:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSWebCLCustom.cpp:
        (WebCore::setPlatform):
        (WebCore::setDevices):
        (WebCore::setDeviceType):
        (WebCore::setGLContext):
        (WebCore::parseContextProperties):
        (WebCore::handleOneArgument):
        (WebCore::handleTwoArguments):
        (WebCore::JSWebCL::createContext):
        (WebCore::toJS):
        * bindings/js/JSWebCLCustom.h:
        * bindings/js/JSWebCLDeviceCustom.cpp:
        * bindings/js/JSWebCLGLCustom.cpp: Removed.
        * bindings/js/JSWebCLPlatformCustom.cpp: