added smoothScrollOffset, accept percentage spyOffset, top scrolls to top of $elem