Optimize the processing algorithm for large line values.

In the case where we have a large line integer value we should optimize
the algorithm so that we skip through all the individual 'step moves'.
To do this I've optimized it to calculate the amount it should move to
be just outside the container while preserving the interval of step
that it should be on.

Fixes #266.