Move WebIDL unions into their own module.

This will allow multiple unions to contain the same type.