Add most of music player funcationality

* Mostly ported but with bugs
* Next song cache an issue
* Need to cleanup musicplayer logic
* Possibly add song collection