better synchronized scrolling
moving the canvas each frame inside rAF
means the browser will scroll the canvas with
the rest of the page even if we don't get
a chance to update it. This removes the
bounce that was there before where our
canvas update was behind the page update.