Graphene-based fabrics and their applications: a review