Add options support to provider initialize

I wanted to pass opacity to layers I created with Provider. There was no support to do this because the user could not pass options that went through to underlying TileLayer constructed.

I added an optional second parameter that gets combined with the provider.options to pass to the TileLayer constructor.