Restore the use of a PositionCursor

I had hoped to avoid a position cursor in the hyperbox case to improve
speed. But in order to support locailize() correctly() after move()'ing a
BoundHyperVolumePointSet we need to add a layer of indirection to the cursor
implementation.