WIP: Remove map source chain
This MR contains a couple breaking changes to the file cache format. See 9a90caea.
- Removes ShumateMapSourceChain, ShumateErrorTileSource, and ShumateTileCache.
- Makes ShumateMemoryCache and ShumateFileCache subclasses of GObject instead of ShumateMapSource, and makes ShumateMemoryCache private. The only concrete implementation of ShumateMapSource now is ShumateNetworkTileSource.
- Replaces fill_tile() with get_tile_async(). fill_tile() decoded the image data and filled the tile; get_tile_async() strictly provides the raw data, and decoding is now done by ShumateMapLayer.
- Add refresh_tile_time back to ShumateFileCache
- Add tests for ShumateNetworkTileSource? (will be tricky because we probably don't want tests to depend on an external website)
- Merge ShumateMapSource and ShumateTileSource, since there isn't really a difference now that ShumateTileCache is gone.
Implements #15 (closed).