Fix widget-reusing code

Issue #1187
Pass doc to lineIsHidden

There's no guarantee that we'll be able to get the document from the parent
link (might not be set).

Closes #1199
Make coordsChar take page coordinates again

It had accidentally started taking window coordinates in the 3.0 refactor.
[htmlmixed mode] Remove obsolete property
Only prevent re-focusing of textarea on mobile platform

Re-focusing is harmless on desktop browsers, and helps paper over
some browser bugs (such as firefox not 'really' focusing a textarea
in an iframe when the textarea is focused before the frame gains focus)
port htmlmixed code
[htmlmixed mode] Integrate support for different script types

Issue #1198
widgetsSeen is no longer an array
Take line classes into account for invalidating measurement caches
[test suite] Make test more robust in face of measure elements
Properly measure the width of a line when a range widget is at its end
Add insertLeft option to setBookmark
need a longer test substring for text/x-handlebars-template
Use precise estimate of left-of-line offset in coordsChar
[javascript mode] Fix parsing of binary operators
[closetag add-on] Unbreak close-on-'/' behavior

Closes #1207
Use first-character tag of change origins to influence history event combining

Issue #1203
Add and document eachLine document-iteration method

Closes #1204
Fix calling charAt on undefined in previous patch

Issue #1203
Remove 'stop' argument from lookupKey's interface