Bug 1784051 - Delete SwCompositor's shared depth texture when final surface is destroyed. r=lsalzman
Bug 1784051 - Delete SwCompositor's shared depth texture when final surface is destroyed. r=lsalzman

And lazily create it when first surface is created. This prevents us
unnecessarily holding on to that memory when a compositor has no
surfaces, ie when the tab is backgrounded on Android. While each depth
texture may only be a few megabytes, this quickly adds up on Android
where each tab has its own compositor.

Differential Revision: https://phabricator.services.mozilla.com/D154636

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/75dfb2eca175d8acac3d0d4d2afae4b129d2aeca

servo/webrender,servo/webrender,servo/webrender,servo/webrender,servo/webrender,servo/webrender