Reland "use linear segment instead of recalculating it"

This is a reland of 86807d30cc2951021e81dc4507a5c14b37aebd31

Original change's description:
> use linear segment instead of recalculating it
> 
> Change-Id: I55f8e5d23f7f77681f45cfe2255ef8dda416497f
> Reviewed-on: https://skia-review.googlesource.com/123583
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>
> Auto-Submit: Mike Klein <mtklein@chromium.org>

Change-Id: I3b98c03923b811499bec4e337a45a1937b547538
Reviewed-on: https://skia-review.googlesource.com/123682
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
6 files changed