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