Fix event callbacks being skipped

When a callback calls @removeListener, like most events dialog events do, it changes the array the @fire method iterates over, thus callbacks might not be called.

Now it stores the callbacks in a temp array and iterates over this one.
Document xhrGet
Remove old generators
Add documentation to the event system
Add shorthand to register an one time event.
Add Event generator

Usage: https://github.com/paulmillr/scaffolt
Convert event configs to subclasses
Clean up Event
Fix indentation
Make MapChanger extend Event

get rid of code duplication.
Move contact listiners and remove on... methods

Move contact listners from Level to PhysicsManager
Remove on[Touch|TouchBegin|TouchEnd] methods from Entity
Convert MapChanger to event system.