Simplify the insides of DocumentSharedObjectPool and reduce memory usage

Instead of storing an OwnPtr to an object that has a pointer to the
SharableElementData as well as a pointer into the SharableElementData
and the length we can just store a RefPtr to the SharableElementData.

This also reduces the memory usage of the pool by 2 pointers per entry.

In making this change I also realized that the way the cache currently works
when two elements with attributes that hash to the same value collide we
just don't share. I think we need fix this with a HashTranslator in the future.

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

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