fix(markers): fixes invalid marker position on update after grammar change

The `updateDisplay` call was racing with the marker update
so it retrieved the previous range, but with screen position calculated
on the new buffer ending with invalid screen positions.

Closes #2