Use CADisplayLink instead of NSTimer to handle scroll.

CADisplayLink is a more high-resolution timer, that fire on every screen vsync (every 16-17ms), as opposed to NSTimer's runloop-based operation (which only fires every 50-100ms).