audio: Add namespace audio to separate common names in sound engine

The names can collide with those in clib.  Also they are so common
that collision could happen with other modules or libraries.
audio: Update listener's position and rotation every frame

The position and rotation is acquired from current player.

Also encapsulated listener_pos and listener_xhat inside the library
to protect them from simultaneous access from distinct threads.
They are made Vec3d for easier access.