hwchip: allow multiple songs.

* ply_init can now take a song pointer as a parameter
* Call it with NULL to stop the music or a new song to change songs
* Adjust the demo.