Singlet Oxygen Photosensitization Using Graphene-Based Structures and Immobilized Dyes: A Review