Rewrite Maps to use QHash + QVector
It no longer sorts objects by PA index, but that is not necessary
as we don't depend on it anywhere and also in real world PulseAudio
already does it for us so existing objects are received in order
and new objects always gets incremented index.
This assumption will probably break when index overflows in PulseAudio,
but then we still doesn't depend on this order anywhere so it doesn't
matter.