Projection from view

Depending on how a WMS is configured, it can serve multiple resolutions. If a WMS supports arbitrary projections, it makes sense to use the view's projection. This pull request moves the tile/image url function generation from the constructor to the rendering sequence, where the view's projection is already known. For the API this means that users no longer need to provide a projection configuration on WMS layers that support the view's projection. With the introduction of a `negotiateSourceProjection()` method on the layer renderer, future layer types can leverage this convenience as well, and we will be able to find a projection on a source that does not require client side reprojection to match the renderer projection.