[Bug fix] caret disappears when deleting while track change is hidden; allow 0 offset for move()