Close #977 - scripting events for player changing zone
Also overhauled EventType to make it easier to add new events.
Spit and prayers solution to close #973 - please test!