Basic flawed implementation of flowing links

This implements a basic scheme to handle links that flow across multiple
lines of text in a layout. However, I noted almost as I was getting it
working that it assumes the link is starting on the first link, and also
completely misses the mark if multiple links show up across a TextBlock.

Anyway, it's a valid checkpoint along the way with some solid tests
which will still need to pass wherever the implementation for this
heads.
Working implementation for multi-line links

This gets LinkSegment to properly check across multi-line text layouts
so we can set the bounding regions for the links correctly.
Revisions based on review

Mostly renaming and extracting a few smaller methods, along with using
better constants in the tests to clarify what values we're checking
against.
Merge pull request #656 from shoes/link_bounds

Correcting link boundary checking

Resolves #434