Carbon and Graphene Quantum Dots for Optoelectronic and Energy Devices: A Review