movements

Use the movement break points to group the events by movement. The events
are not shifted in time, so each movement has to start at the proper offset.
The reason is that certain calls, like tuplet, bake in lilypond code, and it
will be wrong if the events change position.