In response to Bug #2927 

change to reject contours with moms.m00 = 0.0
contours with zero area rejected

reject contours with zero area by using the "continue" statement to be in sync with the condition checking style used in the whole file
Drop CvModule and cvSetMemoryManager
Move C structures wrappers from core.hpp to core_c.h

Also move RTTIImpl class to the only usage
Move C++ basic structures to separate header and inverse dependency from C API

cv::Complex, cv::Point_ and cv::Point3_ are moved.
Move cv::Size_
Move cv::Rect_
Move cv::RotatedRect
Move cv::Range, cv::KeyPoint and cv::DMatch
Move most of the traits classes out of core.hpp
Move cv::Scalar_ to types.hpp
Move cv::Matx and cv::Vec to separate header
Implementation of cv::Matx and cv::Vec is almost moved to matx.hpp
Norms are moved out form operations.hpp
Move implementation of C++ container classes to types.hpp
Move cv::fastMalloc, cv::fastFree and cv::Ptr out of core.hpp
Rename mat.hpp
Move cv::TermCriteria out of core.hpp
Move cv::Mat out of core.hpp
Completely separate C and C++ API of OpenCV core