Build-event renderers shared by the hm CLI and the cloud plugin.
This crate owns the output layer: the [OutputRenderer] trait, the
[OutputMode] selection enum, and the concrete renderers
([HumanRenderer], [ProgressRenderer], [JsonRenderer]). All of
them consume [hm_plugin_protocol::BuildEvent]s; nothing here depends
on hm internals (no RunContext, no Docker types).