Move locatable range code out into its own directory so that it can be used by both types from util and from nav.
Add a safe locatable range type that provides range location only if it wouldn't involve DOM changes.
Provide a publication when the selection point changes. This publishes a function that can be used to get the location of the current insertion point.
Fix bad markup and remove commented out code.
Initial cut at making a visible caret at the insertion point. Currently it's switched off by default, url query param of caret=on to switch it on.
Needs a lot more testing but seems to work on desktop Chrome for very simple tests. A quick test on iOS reveals problems. Currently doesn't handle scrolling which may be the issue on iOS (or it may not).