CoordinatePath optimizations

use CoordinateSequence.getCoordinate() instead of Geometry.getCoordinateN()
to avoid allocation Coordinate each time
add more CoordinatePath tests