PromptCharm: Text-to-Image Generation through Multi-modal Prompting and Refinement