Add a setDebugDirtyRegion() feature to the client.

Calling remoting.clientSession.setDebugDirtyRegion(true) enables
rendering of each frame's dirty region with an purple, translucent
overlay.

Currently the dirty region is re-rendered immediately for each frame,
with no linger nor fade-out behaviour.

BUG=427659

Review URL: https://codereview.chromium.org/932013002

Cr-Commit-Position: refs/heads/master@{#317496}
void PepperVideoRenderer3D::OnPaintDone(int32_t result) {
  CHECK_EQ(result, PP_OK) << "Graphics3D::SwapBuffers() failed";

  paint_pending_ = false;
  base::TimeDelta paint_time =
      base::TimeTicks::Now() - latest_paint_started_time_;
  stats_.video_paint_ms()->Record(paint_time.InMilliseconds());

  PaintIfNeeded();
}

void PepperVideoRenderer3D::OnPaintDone(int32_t result) {
  CHECK_EQ(result, PP_OK) << "Graphics3D::SwapBuffers() failed";

  paint_pending_ = false;
  base::TimeDelta paint_time =
      base::TimeTicks::Now() - latest_paint_started_time_;
  stats_.video_paint_ms()->Record(paint_time.InMilliseconds());

  PaintIfNeeded();
}
