OCL: DFT

(in collaboration with @ElenaGvozdeva).

check_regression=*OCL*Dft*
test_filter=*OCL*Dft*
test_modules=core
build_examples=OFF
Merge after Itseez/opencv#3000

Future work:
- Enabling `double` support
- Minor optimization
I used name `smart_ptr` as class of wraper for pointer, in this case good idea to use `cv::Ptr`.