Reworking event system again, thanks to SDL 1.2's whacky limit of 8 custom event types.