Thumbnails!

Depending on how many videos are in the folder, it can take anywhere from 1 second (< 20 videos) to ~1 minute (100s of videos). I decided it was better to always display the directory listing immediately, rather than wait for all the thumbnails to generate first.

This branch auto-generates thumbnails for all potentially valid videos in the current directory as separate async ffmpeg threads, in parallel. This means, the first time you view a directory you won't see thumbnails yet, but it'll still display the directory listing immediately, while generating available thumbnails in the background. Thumbnails for each visited directory are saved to a hidden '.thumbs' subdirectory within it, and served by a new '/thumb' static media route.

Also encoding filenames whenever passed as GET param f, which fixes a bunch of bugs with special chars in filenames causing problems.

Also also, added "media" subdirectory to .gitignore. This allows us to symlink our actual preferred media directory as "media" and leave the default config alone, while still using our own actual media.