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 decodeURIComponent(escape(str));
}
function utf8StringToString(str) {
  return unescape(encodeURIComponent(str));
}
function isBool(v) {
  return typeof v === "boolean";
}
function isNum(v) {
  return typeof v === "number";
}
function isString(v) {
  return typeof v === "string";
}
function isArrayBuffer(v) {
  return typeof v === "object" && v !== null && v.byteLength !== undefined;
}
function isArrayEqual(arr1, arr2) {
  if (arr1.length !== arr2.length) {
    return false;
  }
  return arr1.every(function (element, index) {
    return element === arr2[index];
  });
}
function getModificationDate(date = new Date()) {