Added p (put before)
Update cursor position only on change

(for more precise update handling)
Correct cursor pos when wrapping around
'virtual width' label syntax