Added safety checks to mutate(...).rewrite_meter().

When using `initial_offset` to rewrite the meter of a fragment, it's important
to guarantee that the latest start offset in the components to be rewritten is
within the bounds of the meter to be established.

If not, the meter rewriting algorithm will loop forever.

This is now prevented by an assert.