Add async derived stores, inspired by https://github.com/square/svelte-store.
This replaces the filtering logic that was triggered dispatches from the search bar and tag selector.
There are some other features in the new stores that will support querying databases from a store and keeping all of the deriving logic the same to do something like cache invalidation.
When the scrollers get filtered, the format changes for some reason, but that's not as bad as using the wrong image, so I'll merge this to resolve #32
Add async derived stores, inspired by https://github.com/square/svelte-store. This replaces the filtering logic that was triggered dispatches from the search bar and tag selector. There are some other features in the new stores that will support querying databases from a store and keeping all of the deriving logic the same to do something like cache invalidation. When the scrollers get filtered, the format changes for some reason, but that's not as bad as using the wrong image, so I'll merge this to resolve #32