OpenAL performance patches

This introduces the concept of channel-categories into the OpenAL audio implementation, in the same way that it exists for the DirectSound implementation.
The number of channels used for each category is now limited again (it previously used as many channels as OpenAL could support), gaining a major boost to performance when action is going on (particularly, when fighting).

(The first 4 are the same patches as were already sent over the mailing list)