Fix PersistentHeap collections.

Previous implementation did not work for embedded and stack allocated objects because we ended up creating Persistent handle pointing into the middle of the stack or non-heap allocated object.

New implementation inherits them from PersistentBase instead turning them into persistent handles with custom trace method.

BUG=

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

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