This commit basically resets left_edge_ when changing cursor row

 * Cursor::setCurrentRow is now called in BufferView::draw
 * small fix to setting of x in TextMetrics::drawParagraph(): the value used should be the one that has just been computed.

Some additional cleaups:

 * the extra Cursor members are now mutable for simplicity. This can be changed later.
 * There is a new previous_row_ member that is useful to redraw a row that was scrolled but which is not any more.
 * new method Cursor::bottomRow(), that goes together with textRow()
 * various style changes (constify variables, avoid useless declarations, move declarations where they belong...)
 * Some comments updates