C++ 2D geometry library, handles points, lines and planar transformations using homogeneous coordinates