* add `titiler.extensions` package (`cogValidateExtension`, `stacExtension`, `cogViewerExtension`, `stacViewerExtension`, `wmsExtension`)
titiler.mosaic
* update `cogeo-mosaic` version requirement to `>=5.0,<5.2` (allow using `az://` prefix from uri)
* add `MOSAIC_STRICT_ZOOM` environment variable to control if the application should allow fetching tiles outside mosaic min/max zooms
**breaking change**
titiler.core
* add `extensions` option to the `BaseTilerFactory` to specify a list of extension we want to register. Each extension will be then registered in the `__post_init__` object creation step.
* remove `BaseHTTPMiddleware` class inheritance for middleware (write pure ASGI middleware)
titiler.application
* uses Extension to add more endpoints to default `titiler.core` factories
* move all `viewer` code into `titiler.extensions`
* add `/cog/stac` endpoint from `titiler.extension.stacExtension` to create STAC Items from raster dataset
titiler.mosaic
* removed deprecated *empty* path (`/` is the correct route path, which enable prefixed and non-prefixed mosaic application)