Reorder the destruction sequence of Vector() to do less work.

This is a subset of previously reviewed CL,
https://codereview.chromium.org/23531010/ that had to be reverted due to
unknown reasons for a performance regression. Hence, relanding in pieces.

R=abarth@chromium.org, tsepez@chromium.org

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

git-svn-id: svn://svn.chromium.org/blink/trunk@157417 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Rename OS(WINDOWS) to OS(WIN) to be consistent with the rest of chromium and build_config.h.

BUG=286645

Review URL: https://chromiumcodereview.appspot.com/23672027

git-svn-id: svn://svn.chromium.org/blink/trunk@157418 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add toHTMLSummaryElement(), and use it.

We'd like to avoid bare static_cast.

BUG=none
TEST=none; no behavior changes.

Review URL: https://chromiumcodereview.appspot.com/23714006

git-svn-id: svn://svn.chromium.org/blink/trunk@157419 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Also adding an expected failure for compositing/tiny-layer-rotated.html on Linux and Mac.

Likely the same issue as the virtual compositing change.

BUG=287477
TBR=enne

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

git-svn-id: svn://svn.chromium.org/blink/trunk@157420 bbb929c8-8fbe-4397-9dbb-9b2b20218538