auto merge of #1418 : dhedlund/servo/composite_when_ready, r=pcwalton
auto merge of #1418 : dhedlund/servo/composite_when_ready, r=pcwalton

The rendergl::render_scene() function is being called more often than it needs to be, sometimes before the renderer has finished.  This could result in PNG images that are drawn before the frame trees set in SetIds is rendered.

wartman4404/servo,saratang/servo,dsandeephegde/servo,caldwell/servo,metajack/servo,Shraddha512/servo,notriddle/servo,jimberlage/servo,ryancanhelpyou/servo,sadmansk/servo,boghison/servo,upsuper/servo,dagnir/servo,caldwell/servo,saratang/servo,zentner-kyle/servo,kindersung/servo,canaltinova/servo,luniv/servo,A-deLuna/servo,DominoTree/servo,jimberlage/servo,caldwell/servo,GreenRecycleBin/servo,g-k/servo,mbrubeck/servo,karlito40/servo,wpgallih/servo,meh/servo,notriddle/servo,saratang/servo,meh/servo,dati91/servo,A-deLuna/servo,peterjoel/servo,WriterOfAlicrow/servo,peterjoel/servo,sadmansk/servo,nick-thompson/servo,dsandeephegde/servo,eddyb/servo,brendandahl/servo,zentner-kyle/servo,mdibaiee/servo,g-k/servo,SimonSapin/servo,dsandeephegde/servo,saneyuki/servo,aidanhs/servo,larsbergstrom/servo,huonw/servo,mattnenterprise/servo,brendandahl/servo,larsbergstrom/servo,RenaudParis/servo,dmarcos/servo,indykish/servo,nrc/servo,splav/servo,deokjinkim/servo,nick-thompson/servo,shrenikgala/servo,nerith/servo,codemac/servo,Adenilson/prototype-viewing-distance,youprofit/servo,eddyb/servo,splav/servo,GreenRecycleBin/servo,emilio/servo,rentongzhang/servo,saneyuki/servo,mukilan/servo,CJ8664/servo,wpgallih/servo,evilpie/servo,rnestler/servo,nrc/servo,DominoTree/servo,seanmonstar/servo,chotchki/servo,dati91/servo,jdramani/servo,dmarcos/servo,AnthonyBroadCrawford/servo,zhangjunlei26/servo,echochamber/servo,splav/servo,mdibaiee/servo,saratang/servo,anthgur/servo,vks/servo,samfoo/servo,deokjinkim/servo,boghison/servo,sadmansk/servo,upsuper/servo,rentongzhang/servo,mattnenterprise/servo,evilpie/servo,pyfisch/servo,mattnenterprise/servo,seanmonstar/servo,tempbottle/servo,aidanhs/servo,wartman4404/servo,SimonSapin/servo,seanmonstar/servo,steveklabnik/servo,avadacatavra/servo,KiChjang/servo,froydnj/servo,echochamber/servo,karlito40/servo,sadmansk/servo,youprofit/servo,CJ8664/servo,huonw/servo,metajack/servo,dvberkel/servo,pgonda/servo,samfoo/servo,juzer10/servo,pyecs/servo,pyfisch/servo,akosel/servo,emilio/servo,pyecs/servo,splav/servo,jlegendary/servo,jlegendary/servo,rixrix/servo,tafia/servo,CJ8664/servo,saneyuki/servo,RenaudParis/servo,paulrouget/servo,Adenilson/prototype-viewing-distance,notriddle/servo,dsandeephegde/servo,chotchki/servo,jdramani/servo,anthgur/servo,AnthonyBroadCrawford/servo,mattnenterprise/servo,nrc/servo,nnethercote/servo,aweinstock314/servo,rentongzhang/servo,rnestler/servo,RenaudParis/servo,huonw/servo,Shraddha512/servo,peterjoel/servo,nnethercote/servo,echochamber/servo,AnthonyBroadCrawford/servo,samfoo/servo,jgraham/servo,saneyuki/servo,splav/servo,zentner-kyle/servo,mukilan/servo,bjwbell/servo,mt2d2/servo,codemac/servo,mattnenterprise/servo,j3parker/servo,indykish/servo,tschneidereit/servo,Adenilson/prototype-viewing-distance,runarberg/servo,tschneidereit/servo,hyowon/servo,DominoTree/servo,evilpie/servo,aweinstock314/servo,michaelwu/servo,dagnir/servo,mbrubeck/servo,chotchki/servo,g-k/servo,cbrewster/servo,jdramani/servo,canaltinova/servo,tafia/servo,metajack/servo,mdibaiee/servo,runarberg/servo,ruud-v-a/servo,youprofit/servo,A-deLuna/servo,dati91/servo,tschneidereit/servo,evilpie/servo,avadacatavra/servo,emilio/servo,hyowon/servo,j3parker/servo,kindersung/servo,saneyuki/servo,notriddle/servo,indykish/servo,cbrewster/servo,srbhklkrn/SERVOENGINE,jimberlage/servo,sadmansk/servo,ryancanhelpyou/servo,huonw/servo,tafia/servo,michaelwu/servo,evilpie/servo,juzer10/servo,nnethercote/servo,Shraddha512/servo,srbhklkrn/SERVOENGINE,steveklabnik/servo,paulrouget/servo,pyfisch/servo,rixrix/servo,hyowon/servo,kindersung/servo,mattnenterprise/servo,rnestler/servo,indykish/servo,larsbergstrom/servo,jimberlage/servo,nick-thompson/servo,saneyuki/servo,thiagopnts/servo,akosel/servo,bjwbell/servo,mukilan/servo,AnthonyBroadCrawford/servo,youprofit/servo,walac/servo,echochamber/servo,j3parker/servo,saneyuki/servo,GyrosOfWar/servo,aweinstock314/servo,thiagopnts/servo,notriddle/servo,dati91/servo,juzer10/servo,splav/servo,emilio/servo,Shraddha512/servo,splav/servo,dvberkel/servo,ruud-v-a/servo,nnethercote/servo,jgraham/servo,anthgur/servo,emilio/servo,rentongzhang/servo,fiji-flo/servo,DominoTree/servo,aweinstock314/servo,froydnj/servo,steveklabnik/servo,jdramani/servo,fiji-flo/servo,dhananjay92/servo,bjwbell/servo,wartman4404/servo,boghison/servo,peterjoel/servo,dsandeephegde/servo,runarberg/servo,ConnorGBrewster/servo,wartman4404/servo,seanmonstar/servo,dmarcos/servo,upsuper/servo,pgonda/servo,walac/servo,rixrix/servo,canaltinova/servo,hyowon/servo,KiChjang/servo,snf/servo,canaltinova/servo,WriterOfAlicrow/servo,rnestler/servo,wpgallih/servo,meh/servo,notriddle/servo,paulrouget/servo,nnethercote/servo,meh/servo,SimonSapin/servo,samfoo/servo,tempbottle/servo,pyecs/servo,szeged/servo,WriterOfAlicrow/servo,zhangjunlei26/servo,thiagopnts/servo,snf/servo,karlito40/servo,dati91/servo,avadacatavra/servo,nick-thompson/servo,ruud-v-a/servo,ConnorGBrewster/servo,paulrouget/servo,luniv/servo,saratang/servo,mrobinson/servo,wpgallih/servo,peterjoel/servo,KiChjang/servo,RenaudParis/servo,zentner-kyle/servo,Adenilson/prototype-viewing-distance,peterjoel/servo,akosel/servo,jimberlage/servo,RenaudParis/servo,WriterOfAlicrow/servo,KiChjang/servo,cbrewster/servo,DominoTree/servo,nick-thompson/servo,bfrohs/servo,RenaudParis/servo,pyecs/servo,dvberkel/servo,codemac/servo,luniv/servo,akosel/servo,dhananjay92/servo,szeged/servo,ryancanhelpyou/servo,mukilan/servo,larsbergstrom/servo,canaltinova/servo,indykish/servo,AnthonyBroadCrawford/servo,larsbergstrom/servo,ryancanhelpyou/servo,pgonda/servo,zhangjunlei26/servo,aweinstock314/servo,echochamber/servo,youprofit/servo,SimonSapin/servo,deokjinkim/servo,pgonda/servo,anthgur/servo,GreenRecycleBin/servo,jdramani/servo,dmarcos/servo,nnethercote/servo,pyfisch/servo,aweinstock314/servo,bfrohs/servo,chotchki/servo,pgonda/servo,GyrosOfWar/servo,splav/servo,paulrouget/servo,nerith/servo,bfrohs/servo,j3parker/servo,codemac/servo,karlito40/servo,meh/servo,walac/servo,caldwell/servo,mbrubeck/servo,s142857/servo,bfrohs/servo,pyecs/servo,zentner-kyle/servo,pyfisch/servo,ConnorGBrewster/servo,szeged/servo,zhangjunlei26/servo,vks/servo,mrobinson/servo,notriddle/servo,KiChjang/servo,j3parker/servo,thiagopnts/servo,juzer10/servo,aidanhs/servo,GyrosOfWar/servo,s142857/servo,kindersung/servo,thiagopnts/servo,szeged/servo,GreenRecycleBin/servo,paulrouget/servo,WriterOfAlicrow/servo,fiji-flo/servo,upsuper/servo,anthgur/servo,mbrubeck/servo,DominoTree/servo,samfoo/servo,eddyb/servo,emilio/servo,tempbottle/servo,dhananjay92/servo,tafia/servo,KiChjang/servo,dati91/servo,GreenRecycleBin/servo,pyfisch/servo,rentongzhang/servo,szeged/servo,echochamber/servo,szeged/servo,saratang/servo,eddyb/servo,indykish/servo,bjwbell/servo,cbrewster/servo,saneyuki/servo,AnthonyBroadCrawford/servo,nnethercote/servo,emilio/servo,cbrewster/servo,mukilan/servo,youprofit/servo,deokjinkim/servo,rnestler/servo,CJ8664/servo,GreenRecycleBin/servo,cbrewster/servo,pyfisch/servo,seanmonstar/servo,shrenikgala/servo,dvberkel/servo,luniv/servo,mt2d2/servo,steveklabnik/servo,mbrubeck/servo,peterjoel/servo,eddyb/servo,steveklabnik/servo,wpgallih/servo,SimonSapin/servo,bjwbell/servo,snf/servo,aidanhs/servo,avadacatavra/servo,RenaudParis/servo,mbrubeck/servo,thiagopnts/servo,upsuper/servo,j3parker/servo,mt2d2/servo,SimonSapin/servo,jlegendary/servo,fiji-flo/servo,meh/servo,samfoo/servo,evilpie/servo,vks/servo,jgraham/servo,peterjoel/servo,jgraham/servo,brendandahl/servo,emilio/servo,mattnenterprise/servo,tschneidereit/servo,rixrix/servo,youprofit/servo,paulrouget/servo,dagnir/servo,dvberkel/servo,vks/servo,zhangjunlei26/servo,pyecs/servo,brendandahl/servo,g-k/servo,upsuper/servo,avadacatavra/servo,cbrewster/servo,wartman4404/servo,snf/servo,luniv/servo,mattnenterprise/servo,jdramani/servo,ryancanhelpyou/servo,zentner-kyle/servo,nnethercote/servo,GreenRecycleBin/servo,emilio/servo,thiagopnts/servo,ryancanhelpyou/servo,pgonda/servo,mt2d2/servo,j3parker/servo,karlito40/servo,jlegendary/servo,KiChjang/servo,A-deLuna/servo,brendandahl/servo,huonw/servo,ryancanhelpyou/servo,dhananjay92/servo,szeged/servo,mt2d2/servo,avadacatavra/servo,jimberlage/servo,brendandahl/servo,mrobinson/servo,dati91/servo,snf/servo,jlegendary/servo,vks/servo,boghison/servo,tschneidereit/servo,jimberlage/servo,g-k/servo,dagnir/servo,larsbergstrom/servo,nrc/servo,zhangjunlei26/servo,zhangjunlei26/servo,mt2d2/servo,dhananjay92/servo,jgraham/servo,mdibaiee/servo,michaelwu/servo,snf/servo,srbhklkrn/SERVOENGINE,nrc/servo,nnethercote/servo,rnestler/servo,DominoTree/servo,CJ8664/servo,walac/servo,kindersung/servo,anthgur/servo,aweinstock314/servo,froydnj/servo,anthgur/servo,aidanhs/servo,shrenikgala/servo,upsuper/servo,A-deLuna/servo,WriterOfAlicrow/servo,GyrosOfWar/servo,fiji-flo/servo,mrobinson/servo,paulrouget/servo,vks/servo,saneyuki/servo,Adenilson/prototype-viewing-distance,upsuper/servo,mt2d2/servo,nerith/servo,GreenRecycleBin/servo,akosel/servo,metajack/servo,michaelwu/servo,rixrix/servo,froydnj/servo,deokjinkim/servo,runarberg/servo,mbrubeck/servo,pgonda/servo,SimonSapin/servo,sadmansk/servo,caldwell/servo,wpgallih/servo,KiChjang/servo,akosel/servo,nrc/servo,paulrouget/servo,aidanhs/servo,dhananjay92/servo,s142857/servo,dati91/servo,nerith/servo,caldwell/servo,GyrosOfWar/servo,mbrubeck/servo,karlito40/servo,larsbergstrom/servo,ConnorGBrewster/servo,tschneidereit/servo,wartman4404/servo,splav/servo,rixrix/servo,GyrosOfWar/servo,eddyb/servo,rixrix/servo,metajack/servo,indykish/servo,hyowon/servo,chotchki/servo,larsbergstrom/servo,A-deLuna/servo,brendandahl/servo,dmarcos/servo,rnestler/servo,nnethercote/servo,huonw/servo,saratang/servo,notriddle/servo,tafia/servo,szeged/servo,mukilan/servo,chotchki/servo,juzer10/servo,seanmonstar/servo,shrenikgala/servo,ConnorGBrewster/servo,echochamber/servo,cbrewster/servo,rixrix/servo,indykish/servo,ruud-v-a/servo,KiChjang/servo,larsbergstrom/servo,shrenikgala/servo,jlegendary/servo,avadacatavra/servo,CJ8664/servo,AnthonyBroadCrawford/servo,Adenilson/prototype-viewing-distance,srbhklkrn/SERVOENGINE,sadmansk/servo,srbhklkrn/SERVOENGINE,shrenikgala/servo,juzer10/servo,dagnir/servo,dsandeephegde/servo,avadacatavra/servo,caldwell/servo,fiji-flo/servo,szeged/servo,evilpie/servo,dvberkel/servo,tschneidereit/servo,rnestler/servo,Adenilson/prototype-viewing-distance,GyrosOfWar/servo,eddyb/servo,KiChjang/servo,nerith/servo,ruud-v-a/servo,metajack/servo,emilio/servo,rentongzhang/servo,nrc/servo,zentner-kyle/servo,luniv/servo,deokjinkim/servo,jlegendary/servo,dsandeephegde/servo,kindersung/servo,peterjoel/servo,hyowon/servo,notriddle/servo,michaelwu/servo,dmarcos/servo,canaltinova/servo,jdramani/servo,ruud-v-a/servo,fiji-flo/servo,boghison/servo,tempbottle/servo,nerith/servo,wpgallih/servo,CJ8664/servo,mrobinson/servo,ConnorGBrewster/servo,DominoTree/servo,rentongzhang/servo,jgraham/servo,walac/servo,mdibaiee/servo,srbhklkrn/SERVOENGINE,mdibaiee/servo,aidanhs/servo,dagnir/servo,meh/servo,codemac/servo,s142857/servo,bfrohs/servo,tafia/servo,tafia/servo,g-k/servo,g-k/servo,Shraddha512/servo,dagnir/servo,indykish/servo,SimonSapin/servo,hyowon/servo,luniv/servo,vks/servo,evilpie/servo,pyfisch/servo,notriddle/servo,shrenikgala/servo,tempbottle/servo,dsandeephegde/servo,WriterOfAlicrow/servo,wpgallih/servo,splav/servo,huonw/servo,walac/servo,michaelwu/servo,Shraddha512/servo,zhangjunlei26/servo,larsbergstrom/servo,bfrohs/servo,evilpie/servo,mdibaiee/servo,tempbottle/servo,s142857/servo,paulrouget/servo,s142857/servo,ConnorGBrewster/servo,steveklabnik/servo,rixrix/servo,dvberkel/servo,jgraham/servo,wartman4404/servo,nick-thompson/servo,kindersung/servo,codemac/servo,froydnj/servo,s142857/servo,pyfisch/servo,thiagopnts/servo,GreenRecycleBin/servo,dmarcos/servo,eddyb/servo,mrobinson/servo,deokjinkim/servo,boghison/servo,akosel/servo,Shraddha512/servo,bjwbell/servo,walac/servo,anthgur/servo,pyecs/servo,runarberg/servo,samfoo/servo,runarberg/servo,zhangjunlei26/servo,saneyuki/servo,jimberlage/servo,canaltinova/servo,srbhklkrn/SERVOENGINE,runarberg/servo,karlito40/servo,sadmansk/servo,nick-thompson/servo,DominoTree/servo,steveklabnik/servo,wpgallih/servo,canaltinova/servo,juzer10/servo,froydnj/servo,snf/servo,szeged/servo,dhananjay92/servo,CJ8664/servo,jimberlage/servo,bjwbell/servo,A-deLuna/servo,peterjoel/servo,pyfisch/servo,codemac/servo,tempbottle/servo,fiji-flo/servo,boghison/servo,ConnorGBrewster/servo,nerith/servo,DominoTree/servo