Nanotechnology in cancer diagnosis: progress, challenges and opportunities