OpenAL improvements, bugfixes

This commit corrects bugs and overall improves the usage of OpenAL.