Lennart Poettering, the author of systemd, has announced: "I just put a first version of a wiki document together that lists a couple of easy optimizations to get your boot times down to [less than] 2s. It also includes a list of suggested things to hack on to get even quicker boot-ups."

Does sleep/hibernation support in drivers really add complexity, or just require drivers to be written correctly?

Yes, it does add complexity. Because when you have a device completely powered down, it's no longer maintaining state - e.g the graphics chip no longer knows what mode it should be in, the contents of video memory are gone, etc.

Which means that when it wakes up again, the video driver has to put it back into the state it was in before. Re-initialise the hardware (effectively a bootup sequence for the GPU), switch to the right mode, then ensure that userspace does a redraw to finish things.