Use const references to create globals without dynamic initialization

This comment from StaticConstructors.h explains how it works:

  We need to avoid having static constructors.  This is accomplished by
  defining a static array of the appropriate size and alignment, and
  defining a const reference that points to the buffer.  During
  initialization, the object will be constructed with placement new into
  the buffer.  This works with MSVC, GCC, and Clang without producing
  dynamic initialization code, even at -O0.  The only downside is that
  all external translation units will have to emit one more load, while
  a real global could be referenced directly by absolute or relative
  addressing.

Blink was already doing this for exported globals anyway, so this is a
nice cleanup.  I tested this locally by building webcore with Clang on
Windows.

R=thakis@chromium.org,eseidel@chromium.org
BUG=82385

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

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