* Reorganize MapEngine
This is already turning into a mess...
* Map engine selects tile index to use
Still very ugly
* Fix subtile flag combination
* Prepare randomly generated base tiles
* Restore collision viewer
* Movement works again, searches for straight paths
Paths are now d2vector slices
* Fix LOS calculation
* Fix test (I think)
* Unnecessary constructor assignments removed.
* Position implemented in d2common.Path
* Position implemented in mapEntity.Step.
* Position implemented in d2common.PathTile.
* Initial test and benchmark for mapEntity.Step().
* Removed `&& !m.hasPath()` from mapEntity.atTarget
* Direction is now updated when the path node changes mid-step and target is updated when path is set.
* Test improvements.
* Deleted old benchmark function and tidying.
* d2math.Abs added.
* Abs benchmark and optimisation.
* Negate and Distance benchmark.
* Length and SetLength benchmark.
* Lerp and Dot benchmark.
* Cross and Normalize benchmark.
* Angle and SignedAngle benchmark.
* Trivial change to Vector.Abs()