Can someone explain how WebRTC actually works? Is it HTTP? Does it require a centralized server, and how does it find peers?