Offload functions to worker threads with shared memory primitives for Node.js.

feat: add isTask() type guard for narrowing tasks to a moroutine master

- Moroutines returned by mo() expose a readonly .id - isTask(mo, task) narrows task to Task<T, A> inferred from the moroutine's return type; useful when a pool handles tasks from multiple moroutines and you want to recover the specific shape - Task<T, A>.args is now typed as A (previously unknown[]), so narrowing propagates through task.args — backward compatible for Task<T> where A defaults to unknown[] Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>