Turbopack: use small thread local collector that flushes to global collector (#78343)
### What?
Storing many large thread local collectors can lead to high memory usage on systems with many cores. It also unnecessarily delays writing out files to disk.
This changes this to use very small thread local collector that flushes to a single global collector (per key family). The small thread local collectors still avoid contention. This also creates more compact files.