Fix `point_on_surface` for CCW polygons

I tried using `bg::reversible_view`, as recommended by @awulkiew, but wasn't able to get it to pass the tests. The patches below pass the tests, but might be better taken and re-written to use `bg::reversible_view`.

Also worth noting, I had a look at the Intel and ARM documentation for their hardware prefetchers, and they both seem capable of prefetching from main memory into L2 cache regardless of the direction of the memory location access stride. The Intel docs say prefetching from L2 to L1 cache isn't possible in the reverse direction, but the lower latency and increased bandwidth between L2 and L1 should make that less of an issue than it would to main memory.