Use C99 field labels when initialising driver structs

Means it's possible to add new callback functions in the module structs without having to go through and add NULL field initialisers to every module