Computes where the element should be. This changes depending on how long ago the first scrolling attempt was made. It might be useful to make this function more configurable by making it accept an argument instead of using performance.now()
Calls this.scrollStep() until the element has been completely scrolled or the scrolling animation is complete
Updates the position of this.elem, returns true if the element has been scrolled, false otherwise.
elem: The element that should be scrolled scrollDirection: "scrollLeft" if the element should be scrolled on the horizontal axis, "scrollTop" otherwise