blink/bindings: Park ParkableStrings in a separate task.

When a ParkableString is parked, do it in a separate task on the requester
thread. This is required to introduce compression.

This asynchronous parking means that a string can be in 3 states: unparked,
parking in progress or parked.

This CL adds:
- Asynchronous parking.
- Tracking of parked strings in ParkableStringManager
- Actual string parking with DCHECK_IS_ON()

Bug: 877044
Change-Id: Iece0e1338872aa6c315c9417a1050107494b676c
Reviewed-on: https://chromium-review.googlesource.com/c/1293570
Commit-Queue: Benoit L <lizeb@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602353}
6 files changed