Only start video streams when room is assigned

Also fixing join logic in the client side, and tidying code up (and adding more TODO).