Add a basic implementation of sync points

We're currently treating future sync points and sync points the same way, which
isn't optimal for future sync points, but we can improve that in the future.

R=jamesr@chromium.org

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