Generalize cell/world coordinate conversions.

Part 3 / 5 of the isometric terrain implementation.

* CPos.CenterPosition has been replaced with Map.CenterOfCell.
* WPos.ToCPos has been replaced with Map.CellContaining.
* A bunch of plumbing changes so that a Map is available where it is needed.
* Cleaned up some more legacy code.

Moving the conversions into Map will allow these checks to be extended in future PRs to account for rectangular vs isometric cell grids, and use heightmap data.
It is no longer possible to convert directly between CVec and WVec, as the result now depends on outside information (cell grid type, map heightmap).  This instead converts both cells to a world position, and then calculates the WVec directly.