expand_unprintable: use iscntrl rather than isprint which does not work as expected
try to preserve display column rather than buffer column when moving line
DisplayLine no longer map to a single buffer line, but to a buffer range
Try to keep the selection start visible if possible
Add scroll left/right support