Attach (recommended) or Link to PDF file here:

Configuration:
- Web browser and its version:
Firefox/Chrome, latest version
- Operating system and its version:
Linux,Windows,mac
- PDF.js version:
v2.12.313
- Is a browser extension:
no

Steps to reproduce the problem:
1. create a custom viewer with 
```
async function getViewer() {
const viewer = await import(/* webpackChunkName: 'pdfviewer' */ 'pdfjs-dist/web/pdf_viewer');
const eventBus = new viewer.EventBus();
return viewer.PDFSinglePageViewer({
        container,
        eventBus,
        useOnlyCssZoom: USE_ONLY_CSS_ZOOM,
        // We can enable text/annotations layers, if needed
        textLayerFactory: new viewer.DefaultTextLayerFactory(),
        annotationLayerFactory: new viewer.DefaultAnnotationLayerFactory(),
        // textLayerMode: TextLayerMode.ENABLE,
        // currently the SVG renderer is not supported
        // and it has problems with telekom documents
        // so it will be disabled until it is feature complete
        // renderer: 'svg'
    });
}
```
2. console prints an error:
```
Unable to get page for page view TypeError: this.linkService._cachedPageNumber is not a function
    ensurePdfPageLoaded_fn base_viewer.js:1502
```
    
Looks like the problem is `IPDFLinkService` which is actually using the default one `this.linkService = options.linkService || new SimpleLinkService();` which does not have this function. of course we can use `PDFLinkService` which will probably work.

*   component.
 * @property {PDFScriptingManager} [scriptingManager] - The scripting manager
 *   component.
 * @property {PDFRenderingQueue} [renderingQueue] - The rendering queue object.
 * @property {boolean} [removePageBorders] - Removes the border shadow around
 *   the pages. The default value is `false`.
 * @property {number} [textLayerMode] - Controls if the text layer used for
 *   selection and searching is created, and if the improved text selection
 *   behaviour is enabled. The constants from {TextLayerMode} should be used.
 *   The default value is `TextLayerMode.ENABLE`.
 * @property {number} [annotationMode] - Controls if the annotation layer is
 *   created, and if interactive form elements or `AnnotationStorage`-data are
 *   being rendered. The constants from {@link AnnotationMode} should be used;
 *   see also {@link RenderParameters} and {@link GetOperatorListParameters}.
 *   The default value is `AnnotationMode.ENABLE_FORMS`.
 * @property {string} [imageResourcesPath] - Path for image resources, mainly
 *   mainly for annotation icons. Include trailing slash.
 * @property {boolean} [enablePrintAutoRotate] - Enables automatic rotation of
 *   landscape pages upon printing. The default is `false`.
 * @property {string} renderer - 'canvas' or 'svg'. The default is 'canvas'.
 * @property {boolean} [useOnlyCssZoom] - Enables CSS only zooming. The default
 *   value is `false`.
 * @property {number} [maxCanvasPixels] - The maximum supported canvas size in
 *   total pixels, i.e. width * height. Use -1 for no limit. The default value
 *   is 4096 * 4096 (16 mega-pixels).
 * @property {IL10n} l10n - Localization service.
 * @property {boolean} [enablePermissions] - Enables PDF document permissions,
 *   when they exist. The default value is `false`.
 */
class PDFPageViewBuffer {