ProtoEHR: Hierarchical Prototype Learning for EHR-based Healthcare Predictions