2014-03-06  Antonio Gomes  <a1.gomes@sisa.samsung.com>

        Introduce ComputeDevice class
        Issue #468

        Break ComputeContext in several small classes
        Issue #365

        Reviewed by TrustMe.
        No new tests, no behavior change.

        Last missing class to be added to the Compute abstraction in
        /platform.

        Ideally, we can now move much of the input verification from
        Modules/webcl to /platform/OpenCL. That way we create a real
        Compute abstraction layer in /platform.

        * Modules/webcl/WebCLCommandQueue.cpp:
        * Modules/webcl/WebCLContext.cpp:
        (WebCore::WebCLContext::create):
        * Modules/webcl/WebCLDevice.cpp:
        (WebCore::WebCLDevice::create):
        (WebCore::WebCLDevice::WebCLDevice):
        (WebCore::WebCLDevice::getInfo):
        (WebCore::toWebCLDeviceArray):
        * Modules/webcl/WebCLDevice.h:
        (WebCore::WebCLDevice::platformObject):
        * Modules/webcl/WebCLExtensionsAccessor.cpp:
        * Modules/webcl/WebCLKernel.cpp:
        (WebCore::WebCLKernel::getWorkGroupInfo):
        * Modules/webcl/WebCLMemoryInitializer.cpp:
        (WebCore::WebCLMemoryInitializer::~WebCLMemoryInitializer):
        (WebCore::WebCLMemoryInitializer::ensureMemoryInitialization):
        * Modules/webcl/WebCLPlatform.cpp:
        (WebCore::WebCLPlatform::getDevices):
        * Modules/webcl/WebCLProgram.cpp:
        (WebCore::WebCLProgram::getBuildInfo):
        (WebCore::WebCLProgram::build):
        (WebCore::WebCLProgram::ccDeviceListFromWebCLDeviceList):
        * Modules/webcl/WebCLProgram.h:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/ComputeCommandQueue.h:
        * platform/ComputeContext.h:
        * platform/ComputeDevice.h: Copied from Source/WebCore/platform/ComputePlatform.h.
        (WebCore::ComputeDevice::device):
        (WebCore::ComputeDevice::getDeviceInfo):
        * platform/ComputeKernel.h:
        (WebCore::ComputeKernel::getWorkGroupInfo):
        * platform/ComputePlatform.h:
        * platform/ComputeProgram.h:
        (WebCore::ComputeProgram::getBuildInfo):
        * platform/opencl/ComputeCommandQueueCL.cpp:
        (WebCore::ComputeCommandQueue::ComputeCommandQueue):
        * platform/opencl/ComputeContextCL.cpp:
        (WebCore::ComputeContext::ComputeContext):
        (WebCore::ComputeContext::createCommandQueue):
        * platform/opencl/ComputeDeviceCL.cpp: Copied from Source/WebCore/platform/ComputePlatform.h.
        (WebCore::ComputeDevice::ComputeDevice):
        (WebCore::ComputeDevice::getDeviceInfoBase):
        * platform/opencl/ComputePlatformCL.cpp:
        (WebCore::ComputePlatform::getDeviceIDs):
        * platform/opencl/ComputeProgramCL.cpp:
        (WebCore::ComputeProgram::buildProgram):