Attempt at fixing bug 3186
removed needless arithm_2_mat.cl file
marked some methods of ocl::Context as const
refactored and extended arithm operations add/sub/mul/div/absdiff
removed ocl::magnitudeSqr
removed comments from filtering.cpp and imgproc.cpp in ocl module
refactored and extended ocl::LUT
refactored and extended ocl::addWeighted
refactored and extended binary bitwise operations
refactored and extended ocl::compare
refactored and extended ocl::exp and ocl::log
refactoed and extended ocl::transpose
refactored arithm.cpp. Extended param list for all the tests
removed arithm_absdiff.cl
Added nonfree headers that are required for using SURF features
cmake: fixed incorrect usage of add_definitions() on Linux
cmake: PCH: use DEFINE_SYMBOL target property
Resolved the bug that the work group size is not valid.
reverted and generalized original ocl::transpose
fixed minMaxLoc kernel (removed compilation errors)