implement avatar hash caching instead of getting full avatar each time

Jfreegman can attest that I tested this