Runs a GPS simulation loop using a plug pipeline.
The worker resolves the pipeline module, builds the per-event plug chain, fires lifecycle callbacks, and loops until the event counter is exhausted or a stop signal arrives.
@spec start_link(map()) :: {:ok, pid()}
@spec start_link(module(), map()) :: {:ok, pid()}