Clean up _calc method, fix grabbing

Cross-browser implementation of e.offsetY, yay.