OpenAL Audio: Reintroduced the concept of separated audio channel
pools for normal, long and loop wav, and put a limiter on the
amount of channels used.

The aim of this change is to improve the performance/framerate, getting
closer again to the original speed.

The original DirectSound implementation of the audio had a separate stack
for normal waves (used for most game sounds), long waves (used for the
music, tutorial speech, the thunder sound and the earthquake sound) and
loop waves (used for music, and the wind, rain and fire sounds).
Reintroduced this split, having (like the original) 4 long and 4 loop
and using the remaining channels (up to 32 in total) for normal sounds.
The original version used 16 channels total.

Without this patch, the game used as many channels as OpenAL offered
(which could be as many as 126, or more), degrading performance.
OpenAL Audio: Moved the buffer used by StreamContext::stream_data out of
the function and as a member (changing from stack buffer to heap buffer).
OpenAL Audio: Increased number of milliseconds that is buffered from 50ms
to 500ms. This delivers better performance from the audio.
OpenAL Audio: silenced '-fpermissive' warning in init