Text this: 3D printing flexible Ga-doped ZnO films for wearable energy harvesting: thermoelectric and piezoelectric nanogenerators