2014-04-15  Sharath Kamath  <s.kamath@samsung.com>

        Implementation :: async waitForEvents.

        Issue #135

        Reviewed by Antonio.

        Adding Sync version of waitForEvents.
        Also as per https://www.khronos.org/bugzilla/show_bug.cgi?id=1127,
        once a waitForEvents is called with setOfEvents calling waitForEvents() again,
        with same events again before completion of the callback will throw exception.

        Thus adding a flag to WebCLEvent object for waitForEvents.

        Also adding a check in WebCLCommandQueue interface to check if release is called
        on queue before calling callbacks.

        * Modules/webcl/WebCL.cpp:
        (WebCore::WebCL::WebCL):
        (WebCore::ccEventListFromWebCLEventList):
        (WebCore::WebCL::callbackProxyOnMainThread):
        (WebCore::WebCL::threadStarterWebCL):
        (WebCore::WebCL::waitForEventsImpl):
        (WebCore::WebCL::waitForEvents):
        * Modules/webcl/WebCL.h:
        (WebCore::WebCL::handleCallback):
        * Modules/webcl/WebCL.idl: