Add Android SoundEffect classes and Dispose pattern

Separated Android SoundPool implementation into its own partial classes.
Implemented proper Dispose pattern on SoundEffect, SoundEffectInstance and OALBuffer.
OpenAL throws NoAudioHardwareException if OpenAL drivers could not be loaded.
We probably don't need this todo anymore, as this code would all go away if we used OpenAL for Android.