Even if gobject-introspection is an actual dependency of udev, which I can hardly imagine, it must not be subjected to the same "general" USE Flag "extras", which is required by many far more "fundamental" packages (I don't have any example handy, but I'm sure there are applications which are not even slightly X11 related which require +extras). Therefore, udev pulls in gobject-introspection, which in turn requires cairo, et al, which in turn may require more deps, according to their respective USE flags. This rat-tail should be cut off somewhere. I guess the most sensible solution would be splitting the gobject-introspection dependency into an "introspection" USE flag of udev (did I mention that I cannot imagine how udev would possibly require introspection?).
USE="extras" shouldn't be used anymore. It's deprecated. Both stable (171-r5 or 171-r6) and ~arch (182-r3) has separate USE flags like gudev, acl, hwdb, rule_generator, etc. that will do exactly what USE="extras" did. So, solution: Stop using USE=extras and use the separate USE flags.