Add ol.Extent.getForView2DAndSize
Use ol.Extent.getForView2DAndSize
Optimize ol.Extent.getForView2DAndSize
Add ol.renderer.Layer.snapCenterToPixel
Use snapCenterToPixel in Canvas renderer
Use snapCenterToPixel in WebGL renderer
Use snapCenterToPixel in DOM renderer
Add a WMTS tilegrid
Add a WMTS source
Add example for WMTS source
Export methods methods for ol.Extent

so that wmts example work (it makes use of extent.getTopLeft() method)
Ensure supportedCRS property won't be renamed

this property was renamed when using wmts parser when built with
ADVANCED_OPTIMIZATIONS
Add a ol.source.WMTS.createFromCapabilities function

so that we can create a wmts source directly from a getCapabilities response
(parsed by the wmts parser)
Add wmts-from-capabilities example

it demonstrates how to create a wmts source by retrieving its configuration
from a wmts getCapabilities.
Add missing exports

so that wmts-from-capabilities example works.
Single tileUrlFunction in createFromTileUrlFunctions

In that case, simply return the single tileUrlFunction.
Load EPSG:21781 definition from cdnjs.
Implement ol.source.WMTS.optionsFromCapabilities

and remove related ol.source.WMTS.createFromCapabilities function.
s/meters_per_unit/metersPerUnit/
Remove ImageLayer from wmts-from-capabilities example