In the following spots a "MouseUp" eventName is being used, which does look inconsistent considering that the "Mouse Down"/"Mouse Enter"/"Mouse Exit" eventNames all have a space in them.
Is this inconsistency actually expected, or is it a simple typo? If the former, then a comment explaining *why* would be appropriate; otherwise we should just fix this :-)

 - https://github.com/mozilla/pdf.js/blob/25b84ce84c95ba06d1ee57e578672048269c39c1/src/display/annotation_layer.js#L806

 - https://github.com/mozilla/pdf.js/blob/25b84ce84c95ba06d1ee57e578672048269c39c1/src/display/annotation_layer.js#L945

 - https://github.com/mozilla/pdf.js/blob/25b84ce84c95ba06d1ee57e578672048269c39c1/src/display/annotation_layer.js#L1034

 - https://github.com/mozilla/pdf.js/blob/25b84ce84c95ba06d1ee57e578672048269c39c1/src/display/annotation_layer.js#L1168

/cc @calixteman 
return str.replace(/([()\\\n\r])/g, match => {
    if (match === "\n") {
      return "\\n";
    } else if (match === "\r") {
      return "\\r";
    }
    return `\\${match}`;
  });
}
function isAscii(str) {
  return /^[\x00-\x7F]*$/.test(str);
}
function stringToUTF16BEString(str) {
  const buf = ["\xFE\xFF"];
  for (let i = 0, ii = str.length; i < ii; i++) {
    const char = str.charCodeAt(i);
    buf.push(String.fromCharCode((char >> 8) & 0xff));
    buf.push(String.fromCharCode(char & 0xff));
  }
  return buf.join("");
}
function stringToUTF8String(str) {