Path data optimization improvements.
Writes absolute coordinates if it's shorter.
Relative coordinates rounding now takes in account accumulating error. Points will be closer to original values.
Rounding is smarter like 2.49 to 2.5.
Merge pull request #229 from GreLI/better-path-processing

Path data optimization improvements.