Physics and chemistry of CdTe/CdS thin film heterojunction photovoltaic devices: fundamental and critical aspects