Tryst::OffThreadWorker
@api private - the persistent worker App#off_thread's default (new_thread: false) path dispatches to. One real OS thread for the whole process, started lazily on first use and never torn down - avoids paying Fiber::ExecutionContext::Isolated's per-thread spin-up cost on every call, which matters for something meant to wrap a single File.open/etc rather than a long task the way BackgroundWork does. Jobs are plain Proc(Nil) closures that already know how to package their own typed result/exception onto their own reply channel (built in #off_thread), so this loop stays completely generic over whatever Result type each call site uses.