various
added vtable cast checking
cpp: added downcast without RTTI