Fix home/end behavior in CodeMirror.

By default, CodeMirror makes the home and end keys navigate to the beginning
and end of the line of text, regardless of how it is wrapped. This is different
from the usual behavior of text fields, where if the text is wrapped, home/end
go to the ends of the wrapped line (i.e. the cursor stays on the same visible
line within the wrapped text).

Luckily, there's a pretty simple fix for this, as detailed at
https://github.com/codemirror/CodeMirror/issues/1576

Testing done:
Added some long-form text to an open CodeMirror editor and checked that
home/end now behaved as expected.

Fixes bug 3392.

Reviewed at https://reviews.reviewboard.org/r/6419/