Allow mdxmini to be reentrant

mdxmini previously used a set of global pointers to manage a great deal
of crucial song data, making it impossible to maintain multiple mdxmini
instances at a time. This separates out those few pointers into a new
struct which lives inside a t_mdxmini struct, meaning that any given
t_mdxmini instance is totally isolated from every other. It's possible
to have multiple instances of mdxmini living alongside each other!

This necessitated a few API changes at the mdxmini level, but only a
few; most of the changes are in the original mdxplay innards.

The changed functions are:

mdx_make_buffer (takes an extra argument)
mdx_get_buffer_size (takes a struct as an argument rather than void)
mdx_get_sample_size (takes a struct as an argument rather than void)
Merge pull request #5 from mistydemeo/reentrant

Make it possible to keep multiple mdxmini instances operating