Recursive copy with Timeout

Avoid blocking the main thread on JS