Make scrolling commands scroll the focused element
Fixes #11. If the currently focused element is scrollable, it is scrolled by the
scrolling commands. Otherwise the whole document is scrolled.
In other words, you may now choose which element to scroll with the 'f' or 'vf'
command, and then you can scroll it with the scroll commands.
Fixes #399. Using counts with scrolling commands now works reliably.
The scrolling commands respect built-in Firefox prefs:
- general.smoothScroll: Turn smooth scrolling on/off for _all_ scrolling
commands.
- general.smoothScroll.lines: h, j, k, l only.
- general.smoothScroll.pages: d, u, <space>, <s-space> only.
- general.smoothScroll.other: gg, G only.
- toolkit.scrollbox.horizontalScrollDistance: Scroll step for h, l.
- toolkit.scrollbox.verticalScrollDistance: Scroll step for j, k.
The two last prefs replace the scroll step setting.
A bunch of new (hidden) prefs let you customize the smooth scrolling, in the
same spirit as the built-in `general.smoothScroll.<type>.duration{Min,Max}MS`.
They're called `smoothScroll.<type>.spring-constant` and work like
`layout.css.scroll-behavior.spring-constant`.
This commit also bumps the minimum Firefox version to 36, since
`Element.prototype.scroll{To,By}` are used and first available in that version.