Hydrogen Generation by Solar Water Splitting Using 2D Nanomaterials