This function must interpolate points from the `start` position to the `end` position (not including the `end` position). The number of points depends on the number of steps.
For each interpolation point, you must call the `callback` function with an array of the two points `[x, y]`:
-`x`: distance
-`y`: point
There should be a delay between each `callback` invocation; of `duration / step`, so that the final call happens after `duration`.