queue_cursor is a forward cursor storing its path in a queue
of cursors. Each move through the sequence of the outgoing transitions
of the source state (next_transition) enqueues a forward
cursor. An extra method dequeue allows to dequeue and to
implement the breadth-first traversal.