feat: preserve error details across worker boundary
Errors thrown in moroutines now transfer via structured clone
instead of extracting message strings. This preserves stack
traces pointing to the actual source, built-in subclass identity
(TypeError, RangeError, etc.), and cause chains. Applies to
regular dispatch, pool dispatch, and streaming tasks.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>