There is only 1 object : Evas_Object. That's all. And you say it emulates c++ objects ? Seriously...

"Noting all the c style namespacing there's another low hanging fruit. Not to mention the function calls with 15+ arguments."

If for you C++ is namespace and some (few) functions that take more than 10 parameters, you have a bad idea of C++. Talk about heritage, polymorphism, exceptions, template, etc... That's C++. And all that stuff cost. C++ can be light but then slower than C. It can beat C in speed using meta programmation maybe but then the memory consumption is quite high.