Use the correct clean command
Change the type of the length

This way we match the sw span function
Exit early if the len is 0
Add more debugging to know what has changed
Only check for implementation changes

Given that the shap path is a shape, all the shape
attrbiutes are already checked for change. In case any change
happens on the shape path renderer it is automatically propagated
to the path renderer inside the shape path renderer and thus
it will make a change when there's no need for it.
Fix a buffer overflow

Basically the algoirthm checks for all the edges that intersect
an particular y and gets the rightmost and leftmost coordinates.
Then it tries to clip such coordinates to the input x,y, len triplet.
Right now the algorithm was not checking for the case where
the x is right to rx, that is, it is beyond the actual edge
intersection. For such case we need to memset with zero too.