feature/projected_point

The initial commits of this PR adds a distance::detail::projected_point_ax strategy returning 2-component Point/Segment distance.

The intention is to use it as a parameter of the Douglas-Peucked simplify() strategy in order to remove unneeded Points based on the parallel and perpendicular distances of the projected Point instead of the default Point/Segment distance.

The ATD (along track distance) is parallel to the Segment and is a distance between Point projected into a line defined by a Segment and the nearest Segment's endpoint. If the projected Point intersects the Segment the ATD is equal to 0.

The XTD (cross track distance) is perpendicular to the Segment and is a distance between input Point and its projection.


This requires complex types to have a constructor accepting (0). 
As far as I know, the recommended practice is to initialize with T() (see below where I just made another comment). We use this throughout.

That point values are not initialized explicitly is on purpose, and indeed a different thing.