Correctly enable OpenCL mode in tapi's hog example.

For current OpenCV-CL architecture, if the data buffer
allocated in UMat are cpu buffer(not ocl buffer) under
cpu mode, and then pass this UMat to an OpenCL kernel
as an argument, the OpenCL path will fail and fallback
to cpu mode. Take HOGDescriptor::oclSvmDetector as an example:
    ocl::setUseOpenCL(false);
    //data allocated in hog.oclSvmDetector will be cpu buffer
    hog.setSVMDetector(HOGDescriptor::getDaimlerPeopleDetector());
    ocl::setUseOpenCL(true);
    //We enabled OpenCL, but hog.oclSvmDetector are cpu buffer,
    //so it will fail in the function ocl_classify_hists
    //when reach to this line
    //idx = k.set(idx, ocl::KernelArg::PtrReadOnly(detector));
    hog.detectMultiScale(img, found, hit_threshold, win_stride,
            Size(0, 0), scale, gr_threshold);

Similar problems heppen on img_aux and img. So we should re-define
or re-set these UMat when do mode switch (CPU -> OpenCL) in order
to make their data be allocated by ocl and then OpenCL path will
succeed.

Signed-off-by: Chuanbo Weng <chuanbo.weng@intel.com>
Update hog.cpp

Update according to vbystricky's comments
Added support for YUV2RGB[A]_NV21 and YUV2BGR[A]_NV21 conversion
Added OCL code for YUV2BGR_YV12 and YUV2BGR_IYUV color conversions
Added OCL code for YUV2GRAY_420 color conversion
Added OCL code for RGB[A]|BGR[A] -> YUV_[YV12|IYUV] color conversion
Added OCL code for YUV422 -> RGB[A]|BGR[A] color conversion
Used direct float calculations
Optimize OpenCL version of conversScaleAbs function
Basic doxygen documentation support

- updated existing Doxyfile.in
- added corresponding cmake instructions
- added some specific files (layout, icon)
- clean existing doxygen warnings
Small optimization for buildMaps kernels in case rowsPerWI > 1
Fixed imgcodecs tests

- Imgcodecs_Image, write_imageseq - assuming JPEG images have losses
- Imgcodecs_Drawing, c_regression - replaced assert calls
- Imgcodecs_Drawing - exact comparison with reference image
Disabled videoio_video_prop_fps test

This test does not return correct values with some software configurations.
Possible problem with ffmpeg on buildbot's linux-slave.
naive implementation
use local memory
use vectors
Some small fixes
Overload PlaneWarper::buildMaps method from base class
Added checking that z is non zero to buildWarpPlaneMaps kernel
Added loading 4 pixels in line instead of 2 to RGB[A] -> YUV(420) kernel