UPAR: A Kantian-Inspired Prompting Framework for Enhancing Large Language Model Capabilities