Return `OK_STATUS` from the semantic highlighting job when the editor is dirty.

Previously, we announced that the job finishes asynchronously (`ASYNC_FINISH`),
but forgot to call `done` if the editor was dirty (and no UI asyncExec was
performed at all). This lead in turn to the job manager thinking that the job
is still running and not scheduling another run, ever, meaning the loss of
semantic highlighting.

Fixed #1001536.(cherry picked from commit 5e511529b0565dd27448a5bc07877d0120ddf679)