Cache warmup

This PR introduces Interface change (new method collect) and, therefore, major version should be bumped if accepted.

It resolves problem https://github.com/RWOverdijk/AssetManager/issues/40 and it's a set forward solving https://github.com/RWOverdijk/AssetManager/issues/131

Please let me know if you have any concerns. 
`if (!is_dir($dir)) { return; }`