Use scroll-y for wrappered code line
Fix Firefox's scrollTo

Firefox will automatically decodeURIComponent for `location.hash`, while
Chrome won't. Besides, Firefox likes html's scrollTop to be set, while
Chrome likes body's.