Implement a new `src/snek/system/cache.py` module providing two caching mechanisms:
- `cache`: a direct alias for `functools.cache` for synchronous function memoization
- `async_cache`: a custom decorator that caches results of async functions based on positional arguments, using an internal dictionary to store and retrieve previously computed values