DermX: an end-to-end framework for explainable automated dermatological diagnosis