Non-blocking/async dir-cache refresh

Dear rclone forum,

First and foremost, thank you all for your great work on this software!

I was wondering what you think of an alternative behavior for the VFS directory cache?

I was thinking something along the lines of:
--dir-cache-mode=blocking (default and current behavior)
--dir-cache-mode=non-blocking (or async)

The main difference of the non-blocking approach would be that the VFS directory cache always returns the last cached value for any request immediately, and then asynchronously applies the --dir-cache-time logic for refreshing the cache for that request.

The main advantage to this approach would be that mount responsiveness would be dramatically improved without having to resort to very large --dir-cache-time values.

Personally I use relatively slow cloud providers and NAS hardware where browsing through folders can drag down the overall responsiveness of the computer with blocking directory cache refreshes. Asynchronous directory cache refresh would significantly improve my experience using rclone.

The main disadvantage I see is obviously that you'd effectively be delivering a stale cache entry. However, this is still something I see as preferable to simply using a very large --dir-cache-time as a simple "refresh" in Windows Explorer or waiting a bit in macOS Finder would deliver the up-to-date result.

If this is deemed to risky, an alternative could be to support both a
--dir-cache-time and some sort of --async-dir-cache-time.
The only difference would be a matter of expectations, where a user who sets --dir-cache-time very large, is already indicating that they are OK with stale results up to a certain age. The --async-dir-cache-time would simply be a secondary age whereby the VFS directory cache is opportunistically refreshed asynchronously after access before the --dir-cache-time has expired.

Thank you all for your consideration!

-Alex