[ADM] Add addChildRecursive() which retries add along ancestor chain
[ADM] Add addChildRecursive() which retries add along ancestor chain

This is specifically useful for the paste() function. If you copy say
a Button, you have the button selected. If you immediately try to
paste, it didn't work because you can paste inside a button. But with
this function, we will try to paste it in the button's container, and
then its container, and so on until we succeed.

eaglebk/rib,01org/rib,maxyu/rib,modulexcite/rib,cubemoon/rib,byjg/rib,DonnaWuDongxia/rib,2braincells2go/rib,pplaquette/rib,wuyongfeng/rib,VIP000/rib,suoko/rib,Safiya85/rib,b-cuts/rib,KevinChanH/rib,b-cuts/rib,pplaquette/rib,jsphkhan/rib,Galen-Titanium/rib,vevedh/rib,amithnair/rib,carlst/rib,DonnaWuDongxia/rib,crazyart/rib,taubmann/rib,amithnair/rib,crazyart/rib,modulexcite/rib,jmptrader/rib,jmptrader/rib,b-cuts/rib,byjg/rib,vevedh/rib,modulexcite/rib,KevinChanH/rib,xuzhang/rib,maxyu/rib,smallertomato/rib,xuqingkuang/rib,smallertomato/rib,2braincells2go/rib,VIP000/rib,xuzhang/rib,ndkeren/rib,suoko/rib,zhizhangchen/rib,suoko/rib,xuqingkuang/rib,wuyongfeng/rib,Galen-Titanium/rib,cubemoon/rib,01org/rib,jsphkhan/rib,01org/rib,ndkeren/rib,carlst/rib,jmptrader/rib,Safiya85/rib,2braincells2go/rib,KevinChanH/rib,eaglebk/rib,crazyart/rib,Galen-Titanium/rib,amithnair/rib,taubmann/rib