(fixes bug #445)
The value of bits_through_byte in libspectrum_tape_raw_data_next_bit
selects the bit to read from 0 (most significant) to 7 (least significant).
However when processing the last byte if the number of bits to read is N
then bits_through_byte goes from (8 - N) to 7 instead of from 0 to (N - 1).
We need to flip last_bit at the end of a raw data block, otherwise the
last call to raw_data_edge() does not actually produce an edge. This
prevents Fuse from loading WAV files created from its own tapes.