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. 
Can probably just push to it and use `array_unique()` at the end