Minor refactoring: Moved out some intersection logic to new class, Blueprint.
Minor bug fix: Mouse cooprdinates now works as expected even if you've scrolled the document.