Formatter behaviour for Cucumberex.
Formatters are GenServers. The Events.Bus dispatches events via
GenServer.cast(pid, {:event, event}). Implement private on_event/2
clauses to handle each event type and update state.
The runner calls GenServer.call(pid, :finish) after TestRunFinished
to synchronously drain the formatter before the process exits.