CSS Animations: Clamp to avoid underflow when blending unsigned values

Previously our implementation could underflow when given a timing function that
produced values outside 0-1.

This change clamps any possible underflow of unsigned interpolation to produce
0. This affects interpolation of the following properties:
border-*-width (specified to be interpolated as length)
-webkit-column-rule-width (specified to be interpolated as length)
-webkit-column-count (specified to be interpolated as integer)
outline-width (specified to be interpolated as length)

Interpolation of these types is defined here:
http://dev.w3.org/csswg/css-transitions/#animtype-length
http://dev.w3.org/csswg/css-transitions/#animtype-integer

Both are "interpolated as real numbers" and integer is then "converted to an
integer by rounding to the nearest integer"

Clamping to 0 matches the behavior of Firefox for the test added here.

BUG=276109

Review URL: https://chromiumcodereview.appspot.com/23287005

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