use accurate ticks and cycles elapsed

mice.gameloop calculates exact number of ticks elapsed instead of
looping through them and limiting it to 5

mice.update calculates exact number of cycles elapsed

onTick and onCycle methods will now take the number of ticks or cycles
elapsed, will make it possible for bulk functions.