Implement the Offer payload.
Use payloads.Offer wherever it's needed
Chat: minor doc improvement
Implement the Answer payload
Use payloads.Answer wherever it's needed
Implement the Hangup payload
Use payloads.Hangup wherever it's needed
Make has-video class only be added for video calls

Conflicts:
	test/frontend/chat/conversationview_test.js
Rename CallView methods and variables to accurate reflect what they do/are
Change local-video id and class to local-media in HTML, CSS, and JS
Improve maintainability by changing CallView remote-video to remote-media
Update test description for maintainability
Rename video-area to media-display-area and fix indent for clarity

Conflicts:
	static/css/chat.css
Ensure the CallView hides itself when there's no video
Remove obsolete testing/logica for hiding CallView local-video element
add waitForElementWithPropertyValue to the functional test driver
add waitForElementWithAttrOrPropValue method to the driver object

Refactor broken waitForElementWithAttrOrProp into working waitForElementWithPropertyValue
Add assertCallMediaPlaying & assertMediaElementNotPaused for functional testing
Add assertElementVisibleAndInView as 'visible' actually means 'maybe visible'
Fix assertMediaElementNotPaused and add assertElementVisibleAndInView
Add audio-only call functional test

Add an assertion to test_audio_only_call to ease debugging failures