Merge 2.4 into master

Original pull requests:

* #1761 from bhuroc:qtkit-video-file-2.4
* #1776 from philippefoubert:merge_upstream_2.4_ximea
* #1787 from hs3180:2.4
* #1793 from SpecLad:external-docs-1
* #1795 from alalek:perf_report_progress
* #1806 from akarsakov:ffmpeg_without_iconv
* #1810 from Nerei:2.4
* #1815 from asmorkalov:android_native_camera_build_automation
* #1819 from ilya-lavrenov:ocl_resize_AREA
* #1820 from asmorkalov:android_native_camera_44
* #1821 from SpecLad:watch-your-slashes
* #1822 from SpecLad:msvc12
* #1823 from ilya-lavrenov:ocl_abs_sum
* #1825 from jet47:fix-opengl-mem-leak
* #1827 from asmorkalov:android_ndk_r9b
* #1829 from SpecLad:config-components-libs
* #1833 from SpecLad:fix-qt-sample
* #1834 from SpecLad:svm-copy-ctor
* #1836 from ilya-lavrenov:ocl_norm_workaround
* #1837 from asmorkalov:android_opencl
* #1838 from alekcac:ios64_fix
* #1839 from pmiecielica:memory_leaks
* #1840 from ilya-lavrenov:ocl_cvtColor
* #1842 from StevenPuttemans:bugfix_3315
* #1853 from StevenPuttemans:bugfix_3346
* #1854 from asmorkalov:android_engine_tegra4i5
* #1860 from alalek:ocl_fix_undef_warn