Use same volume mapping as alsamixer

The volume range is now mapped logarithmically, which is more natural for
the human ear, as this is done in alsamixer.
The code comes directly from alsamixer with only minor additions
(wrappers to set all channels in one go).