Behaviour for pipeline processors.
Each processor implements callbacks to receive frames, transform them,
and push results downstream or upstream. Use use Feline.Processor to
adopt the behaviour and generate a child_spec/1 that wraps the module
in a Feline.Processor.Server GenServer.
Callbacks
init/1— initialize processor state from keyword optionshandle_frame/4— process a frame, return{:ok, state},{:push, frame, direction, state}, or{:push_many, frames, state}handle_info/3— handle non-frame messages (optional)handle_setup/2— called once after pipeline linking (optional)handle_cleanup/1— called on processor shutdown (optional)