split entity into entity and worldentity

- Entity:
-> Entities can no longer move and no longer have coordinates (this has
been moved to worldentity)
-> Intended to be inside of inventories

- WorldEntity
-> Have coordinates and can move around the world.
-> Intended for players, NPCs, and basically anything outside of an
inventory

- engine now throws an exception if you try to load two entities with
the same ID
-> previously, would just failsafe and assign a misleading (but unique)
id to entities regardless of the id saved in their file

- parser now deals with world entities
-> currently there is no case where a non-world entity would try to get
something parsed

- removed remove() from server, was replaced by a new method in entity
called delEntity(), which does the same thing