easier testing
Allow tests to run without numpy

In that case tinynumpy will be used in place of numpy.
We should always have a machine *with* numpy in CI. By
testing against itself we actually test compliance in an
additional way: does the comparison with numpy still work
if tinynumpy is used instead. Very meta :)
improvments to buffer etc.