Fix some of JSHint findings
Refactor to use module pattern on image upload object, so I can refactor it
Refactor before introducing validation
Only remove the plugin menu button on receipt of the adapter's saved publication.
Make exit/exited match save/saved.
Introduce error handling
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).
Merge branch 'focus' into philw

Conflicts:
	quink/plugins/image-upload/image-upload.js
	quink/plugins/image-upload/index.html
Complete merge with focus
Pull code back in from commit d29b
Update for visible caret. Works better on desktop Chrome... but not at all on iOS.
Changes to make FireFox work for caret display - at least for the examples I've tried so far. Still seems to work on Chrome but not on iOS.
Makes the caret display on iOS significantly better. Still some bugs including the caret being displayed when the insertion point isn't visible (for scrolled editables).
Add intelligent validation to keyed inputs
Merge branch 'focus' into philw
changed caret to point up: seems more precise.