Add unary negation support for Point2D and Length …
This will allow doing things like rect.translate(&-point), which make the code much simpler and easier to read.