ocl: Add dft based convolve implementation.

Match template in ocl module now can be utilized with dft based
convolve. Note this feature needs OpenCV to be built with clAmdFft
library.
Fix some compilation errors and warnings.
Add some documentation on ocl::convolve
Make imgproc.hpp independent from C API
Make highgui.hpp independent from C API
Make photo.hpp independent from C API
Make flann headers independent from OpenCV C API
Update documentation
Fix build errors
moved device layer to core module
renamed device -> cuda
moved common gpu utility functionality to gpu_private.hpp
removed cu_safe_call.h and cu_safe_call.cpp
fixed build
renamed cuda namespace to cudev
removed static_check.hpp
fixed windows build
fixed source_group
restore cudaSafeCall
fixed compilation warnings