text: Title: Request Adding Leaflet.TileLayer.MBTiles Plugin Support
  Body: **Is your feature request related to a problem? Please describe.**
  No. This feature request adds support for displaying raster tile base maps in .mbtiles format.
  
  **Describe the solution you'd like**
  1. Make [Leaflet.TileLayer.MBTiles](https://gitlab.com/IvanSanchez/Leaflet.TileLayer.MBTiles#) it's own Folium plugin.
  2. Put the above plugin on a CDN so users aren't forced to store it locally. The original author's CDN link is broken I think.
  
  Currently, you can use Folium and [Leaflet.TileLayer.MBTiles](https://gitlab.com/IvanSanchez/Leaflet.TileLayer.MBTiles#) to display .mbtiles format, but it's a bit hacky.
  
  I used roughly the following snippet to override `TileLayer._template`
  
  ```
      # override defaults to use the plugin
      folium.raster_layers.TileLayer._template = Template(u"""
          {% macro script(this, kwargs) %}
              var {{ this.get_name() }} = L.tileLayer.mbTiles(         <--------
                  {{ this.tiles|tojson }},
                  {{ this.options|tojson }}
              ).addTo({{ this._parent.get_name() }});
          {% endmacro %}
          """)
  
     # make a Map with .mbtile basemap 
     m = folium.Map(
          location=[35.650787, -117.661728], 
          tiles='my_tiles.mbtiles', 
          attr=attr
      )
  
      # add open street map
      layer = folium.TileLayer(
          tiles='https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
          name='OpenStreetMap Online',
          attr='&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> '
               'contributors',
          overlay=True,
          control=True,
          show=False
      ).add_to(m)
  
      # function to return _template back to default after the fact.
      set_tile_layer_default(layer)
  ```
  
  Even then, you have to override `TileLayer._template` back to it's default before `m.save('index.html')` for each additional (non-mbtiles) basemap you add.
  
  It would be really nice to:
  
  ```
  from folium.plugins import MBTiles
  
  m = MBTiles.Map(
      location = [14.0, 15.0],
      tiles = 'your_tiles_url.mbtiles',
      attr = 'attr text'
  )
  ```
  
  
  **Describe alternatives you've considered**
  The only alternative I can see is something like the above snippet. There was some discussion in #351.
  
  **Additional context**
  For those unfamiliar, one open source way to make your own tiles is by using [TileMill](https://github.com/tilemill-project/tilemill). TileMill exports the usual {z}{x}{y} directory structure, as well as the Mapbox raster .mbtiles format. Mbtiles are preferable in some cases, because you only have to manage 1 file instead of (no joke) millions of .png files.
  
  Also, it's great when one open source project ties cleanly into another.
  
  **Implementation**
  folium is maintained by volunteers. Can you help make a PR if we want to implement this feature?
  
  I would be happy to write this PR. I have working code which accomplishes the task, just not sure how to best turn it into a plugin.
  
  If somebody could please comment:
  1. Is this idea acceptable and feasible?
  2. A general best practices and implementation list.
  
  Thanks.
  