Implement cloneNode for Document

When cloning HTMLDocument and SVGDocument we need to ensure that we
create a new HTMLDocument and SVGDocument respectively.

http://dom.spec.whatwg.org/#dom-node-clonenode

BUG=258146

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159835 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DEFINE_CSS_VALUE_TYPE_CASTS starts to use DEFINE_TYPE_CASTS

DEFINE_CSS_VALUE_TYPE_CASTS starts to use DEFINE_TYPE_CASTS so that it is more flexible. Under this change, unusual CSS child values will be able to use the DEFINE_CSS_VALUE_TYPE_CASTS as well.

BUG=N/A

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

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