Caches all Scala.js IR used in a given JVM. It supports creating of multiple
sub-caches (IRFileCache.Cache) that track individual file sets.
The global cache is fully thread-safe. However, the sub-caches are not.