Add CodegenInfo structure, give CGs uniform types

All code generators now have type CodegenInfo -> IO (), with access to
all IRs. Later, we'll be able to register new CGs easily if they all
have the same type.