Reland: Make more media APIs aware of |delay| and |delay_timestamp|

This patch is a part of 'AudioContext.getOutputTimestamp' method implementation [1] and it continues the changes introduced at [2].

The AudioRendererSink::RenderCallback::Render method has same semantics as AudioSourceCallback::OnMoreData.
That caused other changes in the following interfaces:
- AudioSyncReader::UpdatePendingBytes(uint32_t bytes, uint32_t frames_skipped) -> AudioSyncReader::PrepareNextData(base::TimeDelta delay, base::TimeTicks delay_timestamp, uint32_t frames_skipped)
- AudioDeviceThread::Callback::Process(uint32_t pending_data) -> AudioDeviceThread::Callback::Process(int64_t pending_data, base::TimeTicks data_timestamp)
- AudioDeviceThread is receiving a "packet" of two int64_t values

BUG=619533

[1] https://codereview.chromium.org/2060833002/
[2] https://codereview.chromium.org/2101303004/

Initially committed at: https://crrev.com/06d9d80a203b9c329fc6d53fde44bae66645a389
Reverted at: https://crrev.com/2665e952502835c6c37d51153bfa180343635a41
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2517503003
Cr-Commit-Position: refs/heads/master@{#435597}
39 files changed