Merge 2.4 into master

Original pull requests:

* #1495 from StevenPuttemans:bugfix_3282
* #1544 from ilya-lavrenov:ocl_blendLinear
* #1652 from nghiaho12:kalman
* #1657 from KonstantinMatskevich:ocldistanceToCenters
* #1670 from jet47:cuda-cmake-fix
* #1675 from krodyush:opencl-optimization
* #1677 from pengx17:patch-1
* #1687 from bitwangyaoyao:2.4_fix
* #1688 from alalek:ocl_fix_filters
* #1691 from SpecLad:ffmpeg-test
* #1695 from ilya-lavrenov:ocl_showDiff
* #1696 from apavlenko:fix_typo_GpuMaterials
* #1698 from ilya-lavrenov:ocl_warp
* #1699 from ilya-lavrenov:ocl_minMax
* #1700 from ilya-lavrenov:ocl_bitwise_perf
* #1701 from alalek:ocl_fix_canny
* #1702 from alalek:ocl_memory_corruption_check
* #1703 from bitwangyaoyao:2.4_fix1480
* #1705 from ilya-lavrenov:ocl_flip
* #1706 from ilya-lavrenov:example_fix
* #1707 from ilya-lavrenov:ocl_morph
* #1708 from ilya-lavrenov:ocl_threshold
* #1709 from ilya-lavrenov:ocl_cornerharris
* #1710 from melody-rain:2.4_moments_ocl
* #1712 from alalek:ocl_split
* #1713 from pengx17:patch-2
* #1714 from jet47:find-cuda-fix
* #1715 from asmorkalov:android_java_bincompat_fix
* #1717 from alalek:ocl_adjust_worksize
* #1718 from SpecLad:have-opencv-ocl
* #1719 from ilya-lavrenov:ocl_gaussianBlur
* #1720 from SpecLad:cmp0017
* #1721 from alalek:ocl_fix_filter2D_64F_kernel
* #1723 from ilya-lavrenov:ocl_norm
* #1724 from ilya-lavrenov:ocl_thresh
* #1726 from melody-rain:2.4_tvl1_ocl
* #1727 from ilya-lavrenov:ocl_warpPerspective
* #1728 from apavlenko:refactor_vcap_jni
* #1729 from ilya-lavrenov:ocl_moments
* #1730 from ilya-lavrenov:ocl_kern_warn
* #1731 from perping:2.4_haar
* #1732 from alalek:ocl_blendLinear
* #1733 from ilya-lavrenov:cv_remap
* #1734 from asmorkalov:android_manager_version_inc
* #1736 from alalek:ocl_fix_corner_memory_access