Self-sustainable Wearable IoT Devices: Energy Harvesting, Management and Consumption