When documenting the cache system I was wondering something we need to check, nothing here for now:
So we recursively go through a modules components to determine the timestamp of the module as a whole (mtimes of the js/css files, mtimes of images referenced inside css, wiki pages (either as js/css page or as interface message) etc.).
Do we properly invalidate the cache if a new component is added that has a last-modified timestamp that is lower than the current max().
e.g. adding a file to 'scripts', or adding a message that hasn't been changed in a while but was forgotten.