Behaviour for output accumulation, plus the default iolist implementation.
@type acc() :: term()
@callback handle_body(acc()) :: binary()
@callback handle_text(acc(), iodata()) :: acc()
@callback init() :: acc()