Get pointers to ndarray buffers via a.ctypes.data.

Get pointers to numpy.ndarrays by casting a.ctypes.data instead of the unwieldy
ctypes.addressof(ctypes.c_void_p.from_buffer(a)).
Move FAUST.{faust_float,dtype} to FAUSTDsp.

Move FAUST.{faust_float,dtype} to FAUSTDsp, because they describe the DSP, and
not the wrapper, that is: I think it is inconsistent to have fs, num_in and
num_out part of FAUST.dsp, but faust_float and dtype part of FAUST, since they
can all be considered to describe the underlying DSP.
Check the input dtype in FAUSTDsp.compute().
Set "-lang -c" internally instead of as default.

Prepend "-lang -c" to FAUST_FLAGS internally instead of setting them as the
default value of the faust_flags __init__() argument (which is now an empty
list).  This makes overriding faust_flags safer.
Simplify the FAUST.compute() wrapper definition.
Add a slightly lower overhead compute2() function.

Add a (experimental) slightly lower overhead compute2() function.  The
difference to compute() is that there are no the a.shape and a.dtype checks,
hence it a) has a (slightly) smaller overhead, and b) can crash Python.  It is
unclear whether the function will stay.