Rework interrupt scheduling
I didn't realized it at first but https://github.com/mupen64plus/mupen64plus-core/pull/701 is breaking the new dynarec very badly.
The main limitation is that the number of cycles between current cycle count and next interrupt event cannot exceed 2^31
I reworked interrupt scheduling a bit:
cp0_next_interrupt is now a negative number representing the number of cycles left until next interrupt is taken. Next interrupt is taken whether cp0_next_interrupt value is positive or null
Special interrupt is now a fake interrupt which porpose is to ensure the number of cycles between current cycle count and next interrupt will never exceed 2^31
I still need to fix both dynarecs. In the meantime this PR needs to be tested to see if there's no regression