further simplified sound processing routines.

* notes for this and prior commits:
so, what is going on? originally `sndchmap` was intended to be a mapping
from the sound to the *currently* playing channel or -1. if the sound is
going to be played, then it first queries the mapping for the currently
playing channel and tries to reuse it if any, effectively resetting
the current playing sound. since we should not reuse channels that are
once used for given sound but now occupied by others, we needed something
that resets the mapping when the playback ends.

yes, this works, but `play_sound_finished` can be called in the different
thread than the main thread so it's actually a bit unsafe in this regard.
so now we store the *last* playing channel and don't try to be exact.
we do reset the channel if the sound ends up playing the channel that is
once used by others and hasn't cleaned up, so it is still safe. in lieu
of this improvement, we renamed `sndchmap` to `sndlastchmap` to reflect
the current usage. a nice side effect is, of course, these commits
together removes further 10 lines of code.

--HG--
branch : 2.0