New cmake option intended to make migration from 2.4 easier

- introduced OPENCV_30_MIGRATION option
- made Ptr(T) contructor implicit for migration purposes
- included C-style API into main headers for some popular modules
I don't understand this. Isn't this macro supposed to help users migrate to OpenCV 3.0? Why would we define it in our own build?