Agent-based systems for telerehabilitation: strengths, limitations and future challenges