Added some player events and a Location class

Added in some player events as well as some base entity and player event classes as well as a Location class to go with some of the events.
Blocks don't have a Location, they are singletons.