[vim] Implement indented paste

- Adjusting indent of pasted block to current line
- Handle multi-line case, subsequent lines have their indent adjusted by their offset
to the first line.
- Add two tests for ]p to demonstrate this.
- Add [p to indent paste above
[vim] Indented paste respects indentWithTabs and tabSize
[vim] Reset lastHPos tracking on click
[vim] Merge cursorActivity handlers + cleanup
[vim] Implement aB, iB, ab and ib text objects.
[vim] Delete unnecessary aB/iB/ab/ib tests
[vim] Fixed append to register feature.
[show-hint addon] Add an origin string to completion changes

Issue #2406
Fix file dropping

Wrap FileReader.onload in operation.
[vim] Partial fix for . in visual mode
[vim] Clean up visual mode . fix a bit, fix linewise
[vim] Fix linewise visual repeat
Make refresh recompute the space the gutter takes up

When line numbers are off, and the editor was initialized in
a hidden position, the gutters would sit on top of the text.

Issue #2365
[overlay addon] Fix bug when overlay mode is itself multiplexed

It assumed it saw all parts of the stream, and started
doing bad things when that was not the case.

Issue #2410
Allow blankLine to return line-* and line-background-* strings

(Experimental for now. Prompted by indentation guide discussion.)
[real-world uses] Add Filemanager
Drop font-family rules from themes

Closes #2415
[haxe mode] Add 'abstract' keyword
Round top/bottom coords when drawing selection

To prevent gaps when browsers interpret fractional numbers oddly.
Use more meaningful names for drawSelection* functions