BUG : don't use mutable objects as dictionary keys

Base key on the string version of the transform matrix

This addresses the core issue (we are trying to use a mutable object as a key) instead of breaking the data-model in one of two ways.

Closes #2828

Alternate to #2909