Add join voice button

This pull request is a rework of the mic and camera management. I tried to streamline the flow and consolidate it so it's easier to follow and adapt in the future. There were also files that had duplicate contents and purpose to other files that I removed.

The only thing that does not work is hanging up the voice call.