rework the output port triggering declaration logic a bit
rework the output port triggering declaration logic a bit

It introduces a new mode, and changes what can be done.

The new mode is triggered_once_per_update. If set to true, the
port will only be written once per update, regardless of the number
of samples waiting on the input

triggered_on_update can be set to false, in which case
triggered_on_update? will return false even if there are not port
triggers. This is used by the supervision dataflow code to
mark the device ports as being already handled.

doudou/modelkit-component,doudou/modelkit-component