ADDED: sprintf.js by Alexandru Marasteanu for utility
ADDED: Importing of Geometry by Utility.js, exporting Point
ADDED: Inner Iframe to Iframe for doc-within-doc testing.
Utility.js
  ADDED: Over-ride Point prototype to show abbreviated floating point figures
  ADDED: Rect.scale() - Should match Geometry.js implementation for future conversion.
  BUGFIX: GetIntersectRect() no longer returned false if they did not intersect, fixed.
  CHANGE: Rect.toString() now outputs a constant length string so that stacked Rect.toString() outputs line up.
Selection.js:
  REMOVE: Removed much of IndexDocuments calculations, width, height, offset no longer needed.
  ADDED: mozInnerScreenX/Y to MouseEvents (by way of .InnerScreen) taking into account the pixel scale
  ADDED: this.top which is the current top document as of the start of the mouse down (will soon replace the dynamic this.SLP functionality which was added to deal with 'refresh-while-dragging)
  ADDED: Scaling of Element selection box by the scale of the document (when zoomed in/out)
  BUGFIX: Sub-Sub-Document frames were not being clipped by their parent viewport, fixed.
  CHANGE: elem.SnapRects.some() to use for loop, performance improvement.
  CHANGE: Many var declarations to let
Fixes #21, Fixes #17
Please try https://github.com/cpriest/SnapLinksPlus/raw/master/dist/snaplinksplus-2.3.4b7.xpi and confirm these issues are resolved.  Thanks!