Change `Story.overlays` to `keyid => function`

Fixes crowdcover/crowdcover#355

The `function`s in `Story.overlays`, when invoked, return new instances
of `L.Site` based on the tileset key. Re-using the `L.Site` instances
was causing layers to not display in map previews.
Merge pull request #7 from bryanjswift/issue-355

Change `Story.overlays` to `keyid => function`