Make <details> expand/collapse feature use display: none instead of childShouldCreateRenderer

The childShouldCreateRenderer hook should go away, it's a hack that JS
doesn't have access to and if <details> was implemented with a custom
element we wouldn't be able to use it. This patch makes <details> work
in a way that is compatible with it being written in JS.

This also means that ::before and ::after generated content now appear in
<details> which is good, though they appear even when it is closed and also
the ::before will appear before the <summary>. This matches the existing
behavior of how a JS constructed widget would behave. If we want to change
this in the future we should update the Shadow DOM spec to support
<content select="::before"> to allow projecting generated content into
different locations.

After this patch that leaves only HTMLMediaElement and HTMLSelectElement
using childShouldCreateRenderer except for SVG. Future patches will remove
those and then childShouldCreateRenderer will be made an SVG only concept.

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

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