Remove old planning doc
Remove old HTML mockup
Remove warning about insecure key in debug mode

Flask's debug mode is inherently insecure, so this additional warning
was pointless.
Refactor + switch from RequireJS to Browserify
Update status
Remove redundancy in import paths
ditto for redundant .js
Clean up model/view dependencies
Split JS into one file per model/view
Add dependency links to readme
Update license note to reflect directory restructure
Fix bug: button showed "Play" while still playing

STR:
1. Be playing the last song in the playlist
2. Click on "Next Track"

Expected behavior:
Last song continues playing, and "Pause" button continues to be
captioned "Pause".

Actual (until this commit):
"Pause" button changed caption to "Play" even though song was still
playing.
Use this.$ in Backbone views

Inside of a Backbone view, these two patterns behave identically:

    $('some selector', this.$el)
    this.$('some selector')

This commit changes the first pattern to the second, terser and more
readable one.
Fix bug: re-adding album corrupted playlist data

Steps to reproduce:
1. Add a track (that is on an album) to the playlist
2. Add that track's album
3. Try to delete the track

Expected result:
The track is deleted.

Actual result before this commit:
The track still shows in the list. Further attempts to delete it print
an error on the console: "tried to remove song not in playlist!"

This was happening because, when an album is added, the collection's
`.set()` helpfully "merged" new values for the track, which then didn't
match the HTML id stored in the DOM. The fix is to set `merge: false`
for the call to `set()`.