Harvesting Blue Energy Based on Salinity and Temperature Gradient: Challenges, Solutions, and Opportunities