P–N junction-based ZnO wearable textile nanogenerator for biomechanical energy harvesting