Web Inspector: Correctly implement scrollToLine, revealLine and setSelection on CodeMirror  editor.
https://bugs.webkit.org/show_bug.cgi?id=113028

Reviewed by Pavel Feldman.

Added focus event handler to CodeMirror editor view elememnt to support inspector's focus model.
Added selection and scroll listeners to correctly save editor scroll and selection in history.
Implemented revealLine, scrollToLine and setSelection.
Note: CodeMirror's coordsChar method does not work correctly in "local" mode, implemented as binary search
as a temporary workaround.

* inspector/front-end/CodeMirrorTextEditor.js:
(WebInspector.CodeMirrorTextEditor):
(WebInspector.CodeMirrorTextEditor.prototype.defaultFocusedElement):
(WebInspector.CodeMirrorTextEditor.prototype._handleElementFocus):
(WebInspector.CodeMirrorTextEditor.prototype.revealLine):
(WebInspector.CodeMirrorTextEditor.prototype._coordsChar):
(WebInspector.CodeMirrorTextEditor.prototype._topScrolledLine):
(WebInspector.CodeMirrorTextEditor.prototype._bottomScrolledLine):
(WebInspector.CodeMirrorTextEditor.prototype._scroll):
(WebInspector.CodeMirrorTextEditor.prototype._selectionChange):
(WebInspector.CodeMirrorTextEditor.prototype.scrollToLine):
(WebInspector.CodeMirrorTextEditor.prototype.setSelection):
(WebInspector.CodeMirrorTextEditor.prototype.copyRange):
* inspector/front-end/TextEditor.js:
(WebInspector.TextEditor.prototype.copyRange):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146615 268f45cc-cd09-0410-ab3c-d52691b4dbfc