T-API: cv::morphologyEx

**Description:**
* eliminated needless `UMat::copyTo`
* merged last 2 kernels (morph + subtract -> morph) for `MORPH_GRADIENT`, `MORPH_TOPHAT`, `MORPH_BLACKHAT`
* ported changes from PR https://github.com/Itseez/opencv/pull/2867

**Performance report:**
http://ocl.itseez.com/intel/export/perf/pr/2899/report/

check_regression=*OCL*MorphologyEx*:*OCL*Erode*:*OCL*Dilate*
test_filter=*OCL*MorphologyEx*
test_modules=imgproc
build_examples=OFF
It looks like this kernel process only one pixel by one workitem that could be not efficient. It is also read U8 directly.  Is there any plan to use tiling like in filter2Dsmall kernel or in the sample https://software.intel.com/en-us/articles/tutorial-optimizing-image-processing-for-intel-graphics-opencl-device?