Get out of the infinite loop by allowing to scan backwards when the current token is a comment.

This fixes issue #9002.
I wonder if it would be more clear to structure it like this:

```
if (ctx.token.type !== "comment") {
    if (ctx.token.string === "}") {
        // (same as master)
    } else if (ctx.token.string === "{") {
        // (same as master)
    } else {
        // (same as master, plus...)
        if (!TokenUtils.movePrevToken(ctx)) {
            break;
        }
    }
} else {
    if (!TokenUtils.movePrevToken(ctx)) {
        break;
    }
}
````

This makes it a little more obvious how we guarantee that the loop makes progress every iteration in all cases, and it eliminates the `if` statement in this diff, which I think has somewhat tricky to follow logic since it's basically covering two independent cases.