Still fixing compatiblity issues, and testing. Changed to account for the user scrolling, and for the canvas being placed in an arbitrary place on the page.