Make canvas offset determination more robust

Use jQuery offset approach (see http://stackoverflow.com/questions/13789879/getting-elements-global-document-coordinates-in-dart-aka-some-offset) - targeted for M6 easy enough to implement here.