front: Properly cleanup AudioTrack resources.

The SDL2 example that this implementation drew from has a bug.
AudioTrack.release() needs to be called when shutting down the audio
thread.  The O/S creates a second native thread behind the scenes for
AudioTrack (in addition to our Audio thread we create in Java). Without
this bugfix, two things occur:
 - Somehow an additional AudioTrack thread gets created and orphaned
   during core startup.
 - The AudioTrack thread never gets killed during core shutdown.

I'm not sure if the first effect creates any hit to performance or not.
The second side-effect is currently obscured by the ASDP bug/workaround
because the thread is eventually killed by exit(status) in ae-bridge.
Once we actually fix the ASDP bug, we will no longer call exit(..) and
the second-side effect will become apparent.