traverse common events only one for computing music length between two positions!
time_position() now does not need to return a node anymore
of course
more robust: iter over both otherwise it fails if end<start (which can happen in simultaneous music)