* When markers are enabled for a module with 256 orders, libxmp
could attempt to index past the end of the orders array to find
an end marker.
* When repeating from the end of a module or an end marker into an
FE marker, libxmp would apply a junk global volume value from the
marker's scan position instead of from the first actual pattern.
* Positions <0 are now clamped at the start of rendering a tick.
These could cause crashes and mostly only occur in situations
where negative positions aren't useful.
* When a loop playing in reverse reaches the start of the loop
at the end of rendering a tick, the loop is repositioned now.
This prevents the aforementioned clamp from altering the
playback rate of samples with reversed loops.
* The loop is no longer repositioned when the position is after
the end of the loop when playing in reverse.
Adds a clamp to the IT filter mixer loops to prevent filtered output
samples from going above the expected level. The clamp was determined
by comparing against OpenMPT test modules that contain an IT WAV
writer output sample. This fixes numerous playback bugs in test
modules (and probably real modules) that use filters, and also stops
integer overflows in some rare situations with garbage samples.