Photonic Design: From Fundamental Solar Cell Physics to Computational Inverse Design