Prevent volume from being set higher than 100.

This should address the problem that the volume was allowed to be set to
a value higher than 100. This caused volumeicon to abort on an assertion
in the alsa backend.

The value m_volume should now never be set to an invalid value. Also the
assertion was replaced by a clamp operation.