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.
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.
Build fixes for case where HAVE_CUDA==OFF.
Code review fixes.
Merge pull request #2022 from asmorkalov:ocv_dynamic_cuda