Setup file-based data store and fix track ordering

Note that it currently takes a while for ID3 data to load