Fix incorrect animation for some values of background-position.

There is a bug which causes incorrect animation for background-position
values with right/bottom edge origin. This is because we interpolate
the offset value itself, but do not take into account that the offset
value represents different positions based on the edge origin of the
offset.

Example: If we want to animate from "left 10px" to "right 20px", we
interpolate 10px to 20px, but "forget" the edge affinitiy of the second
value, and end up with a value offset from the left.

Fixed by emitting calculated lengths for bottom/right edge origins during
animation, such that "right N" or "bottom N" becomes "calc(100% - N)".

BUG=341440
TEST=automated

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

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