Fix #380.

This was caused by mechanically translating the assignments from structs
to pointers.
Looking at that part of the code makes me feel silly:
We are assigning a new AvatarStatBlock to the pointer and
then (without freeing) in the next line we are assigning another value
to the hero_stats pointer.

In the long term we should not copy so much stuff around when transforming
and untransforming, but rather be smart in statBlock() and return the
correct statBlock depending on transform state.