Make StepsTimingFunction sane

Currently StepsTimingFunction has two enum types:
SubType: (Start, Middle, End, Custom)
StepAtPosition: (StepAtStart, StepAtMiddle, StepAtEnd)

This is a bit strange as clearly steps(..) can't be both start and end.
It turns out Start/Middle/End are used to represent step-start/etc., and
steps(..) is represented with Custom. Since the keywords are defined as
steps(1, start)/etc., we should just treat these the same.

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

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