Always use CSS transitions when available

This makes a huge difference in perceptual animation quality
from ~10-20 FPS on a 1.7Ghz Core i7 to 60FPS in Chrome, Safari, Firefox,
IE11.
Use the slow jQuery path to animate scrollTop

This might be worth either splitting animate() into one for DOM
properties and one for pure-CSS or replacing the scrollTop animation
with something like margin or, better yet, transform.