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 
const borderWidth = data.borderStyle.width;
    const square = this.svgFactory.createElement("svg:rect");
    square.setAttribute("x", borderWidth / 2);
    square.setAttribute("y", borderWidth / 2);
    square.setAttribute("width", width - borderWidth);
    square.setAttribute("height", height - borderWidth);
    
    
    square.setAttribute("stroke-width", borderWidth || 1);
    square.setAttribute("stroke", "transparent");
    square.setAttribute("fill", "none");
    svg.appendChild(square);
    this.container.append(svg);
    
    
    this._createPopup(square, data);
    return this.container;
  }
}
class CircleAnnotationElement extends AnnotationElement {
  constructor(parameters) {
    const isRenderable = !!(
      parameters.data.hasPopup ||
      parameters.data.title ||
      parameters.data.contents
    );
    super(parameters, { isRenderable, ignoreBorder: true });
  }
  render() {
    this.container.className = "circleAnnotation";