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.
Merge pull request #51 from mrobinson/negation

Add unary negation support for Point2D and Length