After the changes in PR #14428, the [`normalizeWhitespace` option](https://github.com/mozilla/pdf.js/blob/1087b4dffdf5884ad17669fda54c59dd810667d3/src/display/api.js#L1072-L1073) is now in most (or perhaps even all) cases being ignored and treated as if `normalizeWhitespace = true` is passed to the `PDFPageProxy.{getTextContent, streamTextContent}` methods.[1]

With the changes in PR #14428 we're now handling all whitespaces *consistently* in the `PartialEvaluator.getTextContent` method, which together with other (somewhat) recent improvements have fixed many textLayer issues by handling both coalescing of repeated spaces and proper space insertion between text chunks.
Looking briefly at this code, it seems to me that trying to re-instate "proper" `normalizeWhitespace = false` handling would be quite difficult and would likely hurt readability (assuming it's even at all possible now).
Furthermore, note that in both the viewer and the browser-tests we're only ever using `normalizeWhitespace = true` which means that the other code-path isn't really used all that much.

All-in-all, I'd probably suggest that we simply remove the `normalizeWhitespace` option and make the relevant methods always carry out the normalization since that's what e.g. the viewer uses.

Any thoughts/opinions about this?
/cc @timvandermeij 
/cc @calixteman 

---
[1] One example is the `issue6612.pdf` document in the test-suite, added together with the option, where "regular" spaces are now being returned regardless of the `normalizeWhitespace` value.
arbeitete. Seither arbeitete sie bei Magna International als Projekt Manager in der
Innovationsabteilung. Seit 2009 ist sie Frank Stronachs Büroleiterin in Österreich und
Kanada. Zusätzlich ist sie seit 2012 Vice President, Business Development der
Stronach Group und Vizepräsidentin und Institutsleiterin des Stronach Institut für
sozialökonomische Gerechtigkeit.`)
      ).toEqual(true);
      await loadingTask.destroy();
    });
    it("gets text content, with invisible text marks (issue 9186)", async function () {
      if (isNodeJS) {
        pending("Linked test-cases are not supported in Node.js.");
      }
      const loadingTask = buildGetDocumentParams("issue9186.pdf"));
      const pdfDoc = await loadingTask.promise;
      const pdfPage = await pdfDoc.getPage(1);
      const { items } = await pdfPage.getTextContent();
      const text = mergeText(items);
      expect(
        text.includes(`This Agreement (“Agreement”) is made as of this 25th day of January, 2017, by and
between EDWARD G. ATSINGER III, not individually but as sole Trustee of the ATSINGER
FAMILY TRUST /u/a dated October 31, 1980 as amended, and STUART W. EPPERSON, not
individually but solely as Trustee of the STUART W. EPPERSON REVOCABLE LIVING
TRUST /u/a dated January 14th 1993 as amended, collectively referred to herein as “Lessor”, and
Caron Broadcasting, Inc., an Ohio corporation (“Lessee”).`)
      ).toEqual(true);
      await loadingTask.destroy();
    });
    it("gets text content, with beginbfrange operator handled correctly (bug 1627427)", async function () {
      const loadingTask = 
        buildGetDocumentParams("bug1627427_reduced.pdf")