CdS-graphene Nanocomposite for Efficient Visible-light-driven Photocatalytic and Photoelectrochemical Applications