Empowering Metasurfaces with Inverse Design: Principles and Applications