Implimentation "cv::Mat::forEach" (revised)

previous PR : https://github.com/Itseez/opencv/pull/2117

I propose forEach method for cv::Mat and cv::Mat_.
This is solution for the overhead of MatIterator_<_Tp>.

I runs a test that micro benchmark runs all over the pixel of cv::Mat_<cv::Point3_<uint8_t>>.
The result show that this implementation 40% faster than the simple pointer, 80% faster than iterator.
With multithreading enabled(=multi core), 70% faster than simple pointer, 95% faster than iterator (Core i7 920).

Above all, code is more readable.

My test code is here.
    https://gist.github.com/kazuki-ma/8285876
    (↑ Test code & results should be update because signature was changed)

Thanks.