Introduce DECLARE/DEFINE_ELEMENT_FACTORY_WITH_TAGNAME macros.

They generate Element factory function like |PassRefPtrWillBeRawPtr<T>
create(const QualifiedName&, Document&)|.

We're going to change element factories at least twice.
 1. Replace adoptRefWillBeRefCountedGarbageCollected with adoptRefWillBeNoop
 2-1. Replace PassRefPtrWillBeRawPtr<T> with T* and remove adoptRefWillBeNoop if
   we switch to Oilpan successfully.
 2-2. Replace PassRefPtrWillBeRawPtr<T> with PassRefPtr<T>, and
   adoptRefWillBeNoop with adoptRef if we decide not to switch Oilpan.

This CL makes these changes easier.

BUG=357163

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

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