To avoid using too much disk space. Whenever a kernel from the cache is used its
lasted modified time is updated. Then when a new kernel is added, the oldest
kernel of the same type is removed.
The number should be high enough that there is little risk of race conditions
with multiple Cycles instances running at the same time.
After OpenCL was removed, this didn't really affect end users much since all
kernels are precompiled not cached. But if we enable the shader cache for Metal
in D14645, it's good to keep disk usage under control. Especially if scene
specialization gets added also.