scheduler: Add new platform interface for implementing scheduling

Design doc:
https://docs.google.com/a/chromium.org/document/d/16f_RIhZa47uEK_OdtTgzWdRU0RFMTQWMpEWyWXIpXUo/edit#heading=h.srz53flt1rrp

BUG=391005

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

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