Add debug operator for VEObject and derived classes
Leverage a runtime check on QMetaType::hasRegisteredDebugStreamOperator and QMetaType::debugStream to be able to delegate from VEObject to base classes automatically.
Unfortunately it requires a recursion check, as hasRegisteredDebugStreamOperator will return true when there is any debug operator (including the in base class), not just on the most derived type.
But it saves having to manually cast from the base class to the derived in the base, or from having to add an extra virtual function in the base just for debugging purposes.