Plugin elements always start content loading asynchronously.

Before r162073 [1], HTMLPlugInElement started content loading with two ways:
A) For NPAPI plugins, RenderEmbededObject registered itself to FrameView,
   and FrameView asked elements to start loading.
B) For other content, post attach callback for HTMLPlugInElement started to
   load the content.

r162073 made A asynchronous. We should make B asynchronous too
because dispatching event in Document::updateLayout*() is dangerous.

This CL unifies B with A. We always start content loading after layout
asynchronously.

Implementation:
We want to make the content loading asynchronous, but it should affect
the top-level 'load' event as ever. So, this CL increments Document::
m_loadEventDelayCount until starting actual loading, and
m_loadEventDelayCount should affect the load event correctly
(DocumentLoader::isLoadingInAPISense).

Also, this change unveiled another bug that ScriptLoader didn't decrement
the counter in a case of script load error (ScriptLoader and ScriptRunner).


Test changes:
* APPLET/EMBED/OBJECT content rendering have some delay.
  editing/editability/ignored-content.html
  fast/css/acid2-pixel.html
  fast/css/acid2.html
  fast/dom/HTMLObjectElement/form/nested-form-element.html
  fast/replaced/invalid-object-with-fallback.html
  http/tests/loading/nested_bad_objects.php
  http/tests/misc/acid2-pixel.html
  http/tests/misc/acid2.html
  plugins/gesture-events-scrolled.html
  plugins/user-gesture.html
  WebPageNewSerializerTest
  WebPageSerializerTest

* Also, Document::shouldScheduleLayout requires <body>
  fast/dom/HTMLObjectElement/beforeload-set-text-crash.xhtml

* The test code was broken.  It seems a function has never called.
  http/tests/media/video-in-iframe-crash.html


[1] http://src.chromium.org/viewvc/blink?view=revision&revision=162073

BUG=322348

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

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