Cast 'frame_count()' as int before passing it to 'wave_data.setnframes()'

From what I can infer 'wave.py' requires nframes as an int. Also from
what I can tell, 'frame_count()' was and is supposed to return floats.
The solution here is to cast it before passing it to 'setnframes()'.
Use integer division to halve 'frame_width'

Without this, '__getitem__()' gives us problems when the start and end
variables are calculated as floats. I'm not sure that this is the
appropriate solution, but at least the unit tests now pass.