Bug 1674443 - Refactor the texture cache slab allocator. r=gw
Bug 1674443 - Refactor the texture cache slab allocator. r=gw

This patch simplifies the slab allocator in various ways, most importantly separating the packing logic and texture cache glue (dealing with swizzling, cache entries, etc.). The former is moved into TextureUnits/TextureUnit and the latter is mostly contained into TextureCache.

This patch should have no functional change. The goal to make it easier to introduce custom slab sizes for glyphs in a followup patch, and later use different packing algorithms.

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

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/6319f8438a3a47519479f0c96e6d69b420652d02

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