Fixed EntityFactory pattern, some refactoring

EntityFactory no longer uses static methods to create entities. Users
will be able to specify custom factories in the future. I also removed
the useless WorldTools top-level class.