Structure out playable and media player now.
Makes more sense to have sources as MediaSource and pass the parent
player to every source so we can trigger events on it.
Add methods for normal streaming.
Basic media player methods are now set.
Music actually plays.
Now it plays basic streaming music.