refactor(compressor): move clone_boxed to blanket helper trait
Replaces the per-backend fn clone_boxed stub with a CompressorClone
supertrait providing a blanket impl for any Compressor + Clone + 'static.
Clone itself can't be a Compressor supertrait (breaks dyn object safety),
but this keeps the same clone_boxed call sites while deleting ~50 lines
of identical boilerplate across 12 backends. Pipeline gets a manual
Clone impl since Vec<Box<dyn Compressor>> isn't auto-derivable.