New shuffle mode for playlist
This implements a new shuffle mode for the playlist with a proxy model that shuffles the available data.
he following features are implemented:
each track is selected exactly once in shuffle mode
the shuffle mode and order are fully visible to the user
full history with going back and forth
Interfacing with the QML code is now done with the proxy model.
BUG: 394333