implement auto tree object lifetime manager

this is required for Qt objects as assigned
children are deleted automatically as parent
gets deleted.

allocated objects are tracked in a static set
for addresses still in memory, once an object
is deleted, this set is reduced by the object's
address and its assigned children recursively.