Hot carriers in graphene-fundamentals and applications