[layoutng] Initial version of fragment caching

Design doc: https://docs.google.com/document/d/1RjH_Ofa8O_ucGvaDCEgsBVECPqUTiQKR3zNyVTr-L_I/edit

For now, this is turned off; can be enabled using:
  content_shell --enable-blink-features=LayoutNG,LayoutNGFragmentCaching

Bug: 635619
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_layout_ng
Change-Id: I6c96a1a71f4eba0207238917c6de1f87ca08ba13
Reviewed-on: https://chromium-review.googlesource.com/516042
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Commit-Queue: Christian Biesinger <cbiesinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490246}
9 files changed