Fixed flicker as much as possible.

The clock was being ticked before events were processed, rather than
after. Hence, the events would determine how soon the screen
updated after the clock had ticked, rather than the clock itself.

Otherwise, I'll have to implement my own clock, but I doubt...it
would be better than pygame's. Should be fine now.
Removed pointless defaultdicts after discovering lists are arrays