Display ellipsis correctly in inline blocks adjacent to floats

If we're ellipsing text in atomic inlines then its the left/right bounds of the
container that we need to test against - not the width available on the line, which
may be reduced by the presence of floats that the atomic inlines in fact ignores.
This fix is covered by passing the correct values to TryPlacingEllipsisOnAtomicInlines().

The rest of the changes are to address a a separate, but related, issue in the third
testcase in LayoutTests/fast/text/place-ellipsis-in-inline-block-adjacent-float-2.html
where we are adjusting the ellipsis too soon to make a correct comparison against
the container edge. That adjustment tells us where the ellipsis is in the line
(as opposed to where it is relative to the container's left edge) so we should defer
it until we're figuring out the offset in the text we want to place the ellipsis on.

This change also reveals an edge case where we currently struggle to decide
correctly which side of a glyph to place the ellipsis on. This shows up in the
rebaselined results and will be worked under 722043 - where we will need to figure
out if the 'partial glyph' technique can be refined to give better results for
cases where the direction of the text and the direction of the flow are different
and/or there are runs of text with different directions.

BUG=720377

Review-Url: https://codereview.chromium.org/2880653002
Cr-Commit-Position: refs/heads/master@{#473005}
31 files changed