Fix fill() so that it is pessimistic, not optimistic.

The important test case is where:

    [1e100, 1e100, 2, 3, 1e100, 5]
 becomes
    [2    , 2    , 2, 3, 5    , 5]
instead of:
    [2    , 2    , 2, 3, 3    , 5]

BUG=skia:

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