Implement browsing files adding to the playlist at runtime.
Implement browsing files adding to the playlist at runtime.

Switch to it with "Browse".  Switch back with "Now Playing".

Defaults to the music root directory.  Use arrows to move around.
Tracks and folders can be distinguished with icons on the right.
Tracks that are already in the playlist have an additional "+" icon
next to them.

The "Add" key appends the selected track to the end of the current
playlist.  The "Play" key replaces the current playlist with the
selected track, begins playing it immediately, and switches back
to the playback view.

This is a bit rough, there's lots of tweaks and polishing that can
be done.  Here are some current limitations:

* The look and feel are quite basic, the icons are pretty rough.
* The key repeat rate is too high, it is probably way too easy to
  enqueue a track multiple times.
* There's currently no way to dequeue a track.
* There's not yet any code to recursively add all of the tracks in
  a subdirectory tree.
* Scrolling through a large list takes a while, there's no scroll
  acceleration and no number-key bookmarking.
* Hitting "left" doesn't highlight the directory you just came from,
  it just tosses you back to the top of the parent directory.

But it seems to work, and that's good enough for the moment.

Infinoid/Mini-Slim,Infinoid/Mini-Slim