cursorLineBoundaryBackward

Move cursor to the line boundary in the backward direction.

Implements "smart home": if the cursor is not already at the first non-whitespace character on the line, it moves there instead of to column 0. If the cursor IS at the first non-whitespace character (or the line has no leading whitespace), it moves to column 0.