Big revamp of dac_putsamples() and dac_playwavfile() is no longer required.

Now, dac_putsamples() can be passed the sample data as either an array of integers,
a single string of bytes or a function that can be repeatedly called to obtain
a string result until all the data has been obtained.

Also, dac_putsamples() calls dac_setup() so that function no longer needs
to be called before call dac_putsamples().