OCL: Optimize OpenCL version of morfology and box filters for small filter kernels

Optimization: optimization effort for morph kernel, the same as in filter2D. This new kernel also used for boxFilter.
Converts to short data type for GRADIENT, BLACKHAT and TOPHAT operations, if source data type is uchar (to prevent overflow).

Performance report:
http://ocl.itseez.com/intel/export/perf/pr/3011/report/

check_regression=*OCL*Erode*:*OCL*Dilate*:*OCL*Morph*:*OCL*Box*
build_examples=OFF
test_modules=imgproc
test_filter=*OCL*Erode*:*OCL*Dilate*:*OCL*Morph*:*OCL*Box*

It is better to call  `CV_Assert(actual_op <= 3 || haveExtraMat);` before `ocl_morphSmall`. And maybe check ` if ((depth == CV_64F && !doubleSupport))`.