feature proposal for projecting points onto lines/paths

This implements very basic linear referencing functions on Lines and Paths,  e.g.
```go
    p := NewPath()
    p.Push(NewPoint(0, 0))
    p.Push(NewPoint(6, 8))
    p.Push(NewPoint(12, 0))
    p.Project(NewPoint(3, 4)) // 5
    p.ProjectNormalized(NewPoint(3, 4)) // 0.25
  ```
Happy to hear any feedback.

Thanks for this library!