This path.offset method used to travel 2mm along the path to find
out the direction at the start/end of paths.
That caused errors when the curve being offsetted was less then 2mm.
So now, it checks and if it's shorter will use 10% of the path length instead.
This closes#1257