Playback history

Added a playback history object to core which maintains a list of played tracks with the last played first.
This should probably be a copy so callers of this API can't modify the history by accident