All CUDA related stuff were moved to separate dynamic library.
Dynamic CUDA support library loading implemented for Linux.

Logical mistake in macro fixed;
DeviceInfo deligate reimplemented;
Build and warning fixes.
Build fix.
DeviceInfo class method that were implemented in header moved to cpp file.
Fix some memory leaks in HierarchicalClusteringIndex
Fixes for Android support.
Make dependency from CUDA explicit to prevent from fake dependedcies from CUDA runtime.
CUDA related func tables refactored to remove unneeded dependencies.
Dynamic CUDA support library reimplemented as OpenCV module.
Additional ENABLE_DYNAMIC_CUDA option implemented in cmake. Warning fixes and refactoring.
Warious fixes for case where HAVE_CUDA==OFF.
Build fixes for GPU module.
Improve ocl cvt_color performance for the following conversions: RGB<->BGR, RGB->Gray, RGB<->XYZ, RGB<->YCrCb, RGB<->YUV, and mRGBA<->RGBA.
The improvement was done basically by processing more than 1 pixel by each work-item and using vector's operations.
new performance tests were added
Build fixes for case where HAVE_CUDA==OFF.
change code according reviewer suggesions
Merge pull request #2023 from krodyush:pullreq/2.4-opt-131126-cvt
Update system.cpp

Add native C++ support
Code review fixes.
OpenCV version++; OpenCV Manager version++.
Merge pull request #2022 from asmorkalov:ocv_dynamic_cuda