Changed Event objects to handle pygame events.

Event objects no longer store their attributes in the data attribute; they now store the contents of data (presuming a dictionary or a pygame.event.Event()) in their own __dict__ constructor. This means event.data.attribute is no longer valid; it's now event.attribute.