Add TileWMS setUrl(s)

Fixes #1217.

There's an example at http://probins.github.io/cz.html which accesses the WMS of the Czech mapping agency. This has the different scale map rasters, and orthophotos, as different 'services', so, to have these in the same layer, as you zoom in, the service part of the url has to be changed as well as the layers param for the different resolutions.
The urls in this example are all on the same server, but you could use the same technique to load tiles from different servers in the same layer, as long as the other parameters, such as projection and tilesize, are the same. It's quite common for example for orthophotos to be on a different server from other map layers.

I ran into a tilegrid issue when creating this. I'll raise a topic on the list for this.
> Why is it painful on your case? Can't you create a layer group including layers with different min/maxResolution intervals?

yes, but it's a lot more writing, especially as it's all essentially the same source. The basic pattern is `baseUrl/<layer>?...LAYERS=<layer>`. Maybe if url could be a template, and set `<layer>` in the url based on a function, in my case based on resolution?