Custom exception used throughout VideoMixer for consistent error reporting.
@type t() :: %VideoMixer.Error{ __exception__: true, context: atom(), details: term(), message: String.t(), reason: term() }