driconf: Switch to structs, do on-demand XML generation
Motivation: Get rid of the libexpat dep on Android, which has no use for driconf except for needing
driQueryOption* to return the correct default value for the driver.
Having the driver run libexpat at startup to parse XML strings generated inside the driver feels pretty silly to me (and @krh), when in less code and less preprocessor magic we can have the driver just generate the XML string when necessary for driconf. I've tested that adriconf successfully parses and renders i965 and iris's generated XML.
Replaces !6697 (closed)