Implement alternate behavior

Also, change up and down scrolling to match Firefox, which is much more
sensible than what Blink does.