Add OpenCL accelerated implementation for Retina.
Fix build error when WITH_OPENCL is disabled.
Fix build error on Mac
Let ocl::context only be initialized once in retina_ocl test.
Remove trailing whitespace.
Merge pull request #1356 from SpecLad:homography-uninit
AutoBuffer with initial zero size fixed.
Merge pull request #1309 from pengx17:master_retina_ocl
Merge pull request #1366 from asmorkalov:ocv_autobuffer_fix
Replaced Ptr with my new implementation.
Boring changes - core.

This and several following commits contain the "boring" changes required
to support the new Ptr. These are changes like:

* new T -> makePtr<T> or .reset(new T) or Ptr<T>(new T)
  (depending on the situation)
* p.empty() -> !p

and similar changes that are numerous, but primitive.
Boring changes - imgproc.
Boring changes - highgui.
Boring changes - bioinspired.
Boring changes - calib3d.
Boring changes - features2d.
Boring changes - ml.
Boring changes - nonfree.
Boring changes - objdetect.
Boring changes - photo.