Restructured code a bit to handle all part-level config in one call.
Removed check in shorthand for debug as it's no longer used.
Updated tests to not fall over on different error message format in
newer NodeJS versions
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