OCL: Added extra checks to Image2D

- Added accuracy tests for ocl::Image2D.
- Added some check condtitions to Image2D class to prevent incorrect work when UMat is empty or have incorrect handle. Also it prevents using Image2D if OpenCL runtime not found.

test_filter=*Image2D*
test_modules=core
build_examples=OFF
Why `haveOpenCL()`? What is about `useOpenCL()`?