whole bunch of enemy implementation stuff, optimized pathfinding, fixed serious bug with object order