Conveyor: when we append_gcode with empty queue, don't skip the queue: push to block, then execute the block
Block: if no-one takes our block, release immediately
Conveyor: if someone appends gcode while the queue is empty, ensure it gets executed in a timely fashion