song_desc struct and its usage added

A song_desc (song descriptor) struct has been added to contain the
variables unique to each song (note length, index, and the notes).
Notice that the actual song is a pointer which should be assigned to a
relevant volatile unsigned char array.

A pointer to a song_desc struct called "playing" is what the timer 0
interrupt handler looks to for song data. Be sure to assign this pointer
to the address of the song you want to play and enable timer 0.

Also, the demo song was changed.