test.py: add set_id function and sort tests
_splat.c: fix source levels args - float or tuple
_splat.c: fix accuracy in sine_signals
test.py: add float and signal source tests
_splat.c: add Fragment.offset

Add Fragment.offset to add a value or signal to all the
samples in the fragment.  This can be very useful when
using a fragment as a signal to modulate other parameters.
test.py: add test_frag_offset for Fragment.offset
_splat.c: define the sample type sample_t as double

Instead of using float for the sound sample type, define the
sample_t type and set it to double to avoid rounding errors.
This particularily helps when using fragments as modulation
signals, to obtain the same result as with a fixed floating point
value or as returned by a function.

When USE_V4SF is enabled, the sample type is defined to float
again.  This is to optimise for performance instead of accuracy.
There is currently no optimised mode for 64 bit (double) samples
and SSE instructions.

+ add _splat.sample_precision() module method to get the
number of bits in each floating point sample value.

Note: Due to rounding errors, the tests currently do not pass
with 32-bit (float) samples but only with the standard 64-bit
samples.
splat/__init__.py: import _splat.sample_precision
test.py: add test cases with Fragment as signal modulations

Add a sub-test case for each source with a Fragment object
as the modulation signal.

Also update the MD5 sums now that the sample precision has
been increased to 64 bits as the resulting values have changed
slightly (even in the resulting 16-bit signed integer output).
add example.py to be included in the manual
doc: add splat.sample_precision + example.py
setup.py, splat/__init__.py: v1.1 + add description
build-0007