add SemicircleRadians.orthogonal
add LineLike.pointClosestTo(Vector)
package object geometry: extends Object
package object dimension2: extends Object
ArrowOps: → is shortest ray segment between things

Had to sacrifice the a→b→c syntax for Triangle construction.
Well worth it.
Ray.unitSegment -> Ray.segment(length: Double)
add perimeter/interior/exterior to Triangle
add implicit for scalar*vector multiplication
add SampleOps to pick random points from shapes