Fix: don't pass garbage data to xm_envelope_lerp() when the envelope is over.
Add portamentos and related effects.