The #470 boot-latency example hard-coded spawning each `worker_<i>`
subactor concurrently from a bg `trio.Task` (so each child's cold
`import tractor` overlaps). Add a `main()` `spawn_subs_in_bg_tasks`
flag so the serial-spawn path can be demo'd/compared too: flip it
`False` to `start_actor()` each sub inline in the loop before
handing the ready `Portal` to the bg task.
Deats,
- factor an `open_ep(ptl, i)` helper out of `spawn_and_open_ep()` -
just the `Portal.open_context()` + `wait_for_result()` half, now
that the spawn step is caller-optional.
- `spawn_and_open_ep()` grows a `maybe_ptl: Portal|None = None`
param: spawn the subactor itself when unset (bg-task path), OW
reuse the pre-spawned one (serial path).
- move the "overlap cold imports" rationale comment onto the new
`main()` param where the toggle now lives.
(this patch was generated in some part by [`claude-code`][claude-code-gh])
[claude-code-gh]: https://github.com/anthropics/claude-code