Deactivate IDBTransactions created within Microtasks

When microtasks are run outside the event loop (i.e. they are resolved
from C++ not from JS), wrap the execution in a V8RecursionScope to
ensure that IDBTransactions are deactivated.

R=adamk@chromium.org,haraken@chromium.org
BUG=390704, 411532

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

git-svn-id: svn://svn.chromium.org/blink/trunk@182468 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move painting code from RenderDetailsMarker into DetailsMarkerPainter.

BUG=412088

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

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