Implement shufflier shuffling
This uses Brennin's partitioning shuffling algorithm that shuffle my entire library in just over 1 second. I left a commit with the randomized algorithm for posterity.
This also adds browsing via "tag" and a config option to go back to the boring random shuffling.