duplicate line feature
implement duplicate-lines
preserve leading whitespace when duplicate
cursor will stop at the same column of the new line
change how duplicate works to avoid newline issue
implement duplicate whole lines in region