Updating STAR detector and FREAK descriptor to work with large and/or 16-bit images
Don't automatically convert to grayscale (keep previous behavior.)
Merge branch 'master' of https://github.com/Itseez/opencv

Conflicts:
	modules/imgproc/src/sumpixels.cpp
When a cluster is empty for KMeans, it's better to give it the point from another cluster j that is the furthest one from center j.
Add a new method for initializing KMeans centers that leads to better clusters and thus better retrieval when final centers have to be existing keypoints instead of clusters barycenters.
converted necessary files for python3 compatibility using 2to3
fixed relative imports in Jinja for python3
explicit string encoding when writing to file in python3
added epsilon value to weights in the MergeMertens in order to avoid zero weights for pixels from uniformly filled areas of image
added test for correct handling of uniforma areas in the MergeMertens
New KNN code -should compile now
function code
some fixes
Do not build apple objective-c codes if using gcc
Merged upstream master
modified OpenCL SURF API and the tests in 2.4.x to prove that it gives different from CPU results
made SURF_OCL default constructor parameters the same as SURF
modified SURF's performance test to test OpenCL version as well
fixed doc builder warnings; make sure the tests give reasonable results when OpenCL is not available
Implicit CUDA and OpenCL control for module definition added.

Feature allows to exclude CUDA or OpenCL optimizations at all even CUDA is used
on build. Exclusion of CUDA or OpenCL cut unwanted dependencies.