Attach (recommended) or Link to PDF file here:
https://bitcoin.org/bitcoin.pdf

Configuration:
- Web browser and its version: all
- Operating system and its version: all
- PDF.js version: tested with 2.9.11, but most likely all versions
- Is a browser extension: no

Steps to reproduce the problem:
1. Type "a purely" (single space between "a" and "purely") - doesn't find anything
2. Type "a  purely" (two spaces between "a" and "purely") - finds the phrase

Sometimes even 3 spaces are necessary.

What is the expected behavior? (add screenshot)
![Screenshot from 2021-04-08 13-00-03](https://user-images.githubusercontent.com/6362989/114008903-57639a00-986b-11eb-903a-92bbebbd922b.png)

What went wrong? (add screenshot)
![Screenshot from 2021-04-08 13-01-53](https://user-images.githubusercontent.com/6362989/114008810-44e96080-986b-11eb-8232-f58a62ed7899.png)

This affects many PDFs because justify alignment is common enough.
for (let i = 0, len = items.length; i < len; i++) {
      if (items[i].str === undefined) {
        if (
          items[i].type === "beginMarkedContentProps" ||
          items[i].type === "beginMarkedContent"
        ) {
          const parent = this._container;
          this._container = document.createElement("span");
          this._container.classList.add("markedContent");
          if (items[i].id !== null) {
            this._container.setAttribute("id", `${items[i].id}`);
          }
          parent.appendChild(this._container);
        } else if (items[i].type === "endMarkedContent") {
          this._container = this._container.parentNode;
        }
        continue;
      }
      this._textContentItemsStr.push(items[i].str);
      appendText(this, items[i], styleCache, this._layoutTextCtx);
    }
  }
  /**
   * @private
   */
  _layoutText(textDiv) {