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.