Fix LevelCompleted event occurring at wrong time.
Check collisions more generically.
Greatly simplify collision detection.
Reorganize Level.cs.