Alternative visual block representation.

This introduces a concept of "visual" offset (read pixels) to calculate
model offset for a line in block selection. This solves the issue with
TAB characters.

Refactored existing operations to use the new representation.
Use view offset to account for folded text.
Merge pull request #239 from igrekster/blockwise-improvements

Alternative visual block representation.