Switch PointArray to a single vector

Simpler and faster, except for many small immutable updates
which now involve copying the whole vector.
Switch the pathfinding byte halves for known and unknown tiles

In this way, the minimum of the array of distances gives
the closest unknown tile, which is handy for autoexploration.
Implement autoexplore for UI
Use pred and succ for BfsDistance
Simplify Point, again
Simplify Vector
Relax Cabal bounds on hashable and pretty-show (#57)