Adds a Stack class

This allows for nested events, so, for instance, I can associate
money changes with the fact that there's a merchant window open.