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.
It is still currently necessary due to the lack of information SoundPool returns about the playback state of a sound.  I have tried openal-soft a few times and the latency was always horrible.  In a recent game port to OUYA, I implemented my own sound mixer using a single AudioTrack object with very low latency.  This separation of the Android sound code was the first step in migrating and extending this sound mixer implementation.