IDL: Union type support for attributes

Some specs use union type attributes. For example, TrackEvent[1]
has 'track' attribute, of which type is
(VideoTrack or AudioTrack or TextTrack). Let's support union type
attributes so that we can reduce custom bindings. Follow-up CLs
will replace custom bindings if possible.

BUG=240176

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

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