Ensure there's only ever one UserAgent ShadowRoot

There should never be more than one UserAgent ShadowRoot. We don't need it
for the PasswordGeneratorButtonElement now and can just decorate the real
ShadowRoot directly. This lets us simplify InputType::destroyShadowSubtree
as there will only ever be a single UA shadow root.

This is the first in a series of patches to try to get the
PasswordGeneratorButtonElement into a state where we can ship it. Having it
create extra UserAgent ShadowRoots is bad since it'll make shadowRoot return
null when an author adds a ShadowRoot to an input and then sets the type to
password after.

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

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