Recent progress of efficient flexible solar cells based on nanostructures