Use IdentityHashMaps to map Components to constraints.

Drive-by: Component's hashCode & equals can be overridden, so let's
get out ahead of any potential bugs and use reference equality for
mapping constraints.