First pass at caching MP3s in IndexedDB.
Moves AudioDB to its own file.

Also preps init.js to create playlists using lists of keys instead
of lists of decoded audio buffers. Playlists will pull audio buffers
from the AudioDB using those keys, letting AudioDB fetch and decode
the MP3s on the fly.
First pass at integrating AudioDB with Playlist.