Add task_runner params to some of mojo bindings and use it.

Support |task_runner| parameter in:
- mojo::BindingSet::AddBinding
- mojo::StrongBinding
- mojo::StrongAssociatedBinding

Using per-frame task runner at mojo is necessary for bfcache since
JavaScript execution needs to be suspended when the tab is frozen.

This CL is based on Alexander's CL: https://chromium-review.googlesource.com/c/chromium/src/+/1369499

Bug: 913192
Change-Id: I3a2a7193f22313ec39383a7794f08ddff3bf8375
Reviewed-on: https://chromium-review.googlesource.com/c/1379608
Commit-Queue: Hajime Hoshi <hajimehoshi@chromium.org>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Ken Rockot <rockot@google.com>
Cr-Commit-Position: refs/heads/master@{#621969}
7 files changed