Optimise GL disposal by avoiding quadratic removal
Optimise GL disposal by avoiding quadratic removal

The previous method of individually removing tasks one-by-one from the
front of the disposal queue could incur a quadratic time penalty, as the
remove operation would be forced to copy the tail of the list one item
back to realise the removal operation.

Instead, track the index of the last-executed disposal item, and use it
after the main loop to remove all executed disposals in one go.

peppy/osu-framework,ZLima12/osu-framework,peppy/osu-framework,ppy/osu-framework,peppy/osu-framework,ZLima12/osu-framework,ppy/osu-framework,smoogipooo/osu-framework,ppy/osu-framework,smoogipooo/osu-framework