Currently we check in many different places whether debug is enabled
prior to raising a debug event.
This changes that to always raise debug, but let the debug.raise()
method only store it on the pattern object if/when debug is
enabled.
This bug would be triggered by an edge-case where we have a path
that is made up of multiple curves/lines.
If the distance to shift lies just beyond the end of one segment,
yet the remaining distance is smaller than the step (by default
that means smaller than 1/25mm) no point would be returned.
This closes#1140