The selection bounds should be clipped to the viewport

This is another regression from
https://codereview.chromium.org/570763003 that wasn't
solved by https://codereview.chromium.org/598113003
as it missed more subtleties: most callers want the
clipped selection bounds. Only one caller actually
cared about the unclipped bounds:
FrameSelection::revealSelection as it needs to know
where the outside-the-viewport-selection is.

This change splits bounds() in 2, depending on
the intended behavior. While touching the code,
switched it to use LayoutRect as none of the
callers cares about FloatRect.

This change fixes
fast/transforms/selection-bounds-in-transformed-view.html
that got broken by using a fractional scroll offset.

Unfortunately no extra test as the issue requires
generating a gigantic drag-image that
DRT doesn't do.

BUG=415917

Review URL: https://codereview.chromium.org/640023002

git-svn-id: svn://svn.chromium.org/blink/trunk@183749 bbb929c8-8fbe-4397-9dbb-9b2b20218538