[simplehint util] Support completeSingle option

To turn off the behavior where it'll always complete when only
a single option is left.
showWidgets parameter for foldLines function

There are cases when widget could be a different repsentation of code, so while folding the code 
one may want to show widgets for hidden lines.

I added showWidgets parameter to foldLines, if set it allows widgets for hidden lines to be shown.
Here is a simple showcase where this functionality is needed:
http://uxcandy.com/~boomyjee/dayside/plugins/teapot-copy/
Change foldLines to take an options object
Missing semicolon
[keymap/vim] Stop using .forEach on arrays
Fail a test in IE7

And ensure we don't set cursor height to something negative.

Closes #864
Set pre elements to overflow: visible

Some sites set them to auto, which messes up our cursor (and probably more)
[util/simple-hint] Align completion dropdown with completed word

Add alignWithWord option to be able to turn that off.
Work around IE7 bogus clientWidth
Reorder operation in measureLine to save one relayout
Fix drag/drop on IE9

Closes #857
Fix reload-while-focused corruption problem in IE9
Factor out DOM building for line into separate function
Allow line widgets to be displayed above the line's text

Closes #875
[css] Fix class matching.

This basically matches the CSS3 spec (except it doesn't match non-ascii characters).
Place cursor elements after lines in DOM

So that, even though they share a z-index, they overlay the text and
marked spans.

Closes #883
Don't mutated makedSpans arrays

And add marker changes to the undo history, so that
un/redoing doesn't cause 'ghost' markers to appear.

Closes #882
Try to catch scroll wheel events on an element that's not the main scroller

By growing the vertical scrollbar to cover the whole editor when a wheel scroll
is taking place.

(This to avoid manually handling wheel events, for which there doesn't appear
to be any way that feels native across browsers.)

Closes #810
Slight scrolling optimization

Issue #881
Fixed multi-line Lua comment recognition

Multi-line Lua comments start with "--[[", not "--["