Fix float clamping in LayoutUnit constructor.

Previously this would give wrong results in debug builds, since
static_cast<float>(INT_MAX) is greater than INT_MAX, and when this is
converted back to int, we instead get INT_MIN.

Closer examination reveals that clampTo<int> does exactly what is desired
here, and is consistent with the LayoutUnit(long) constructor.

This manifested as an assertion failure in rounded rectangles, but could
well have caused other symptoms elsewhere.

BUG=356699
TESTED=new unit test, test case given in bug report

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

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