perf($compile): only re-$interpolate attribute values at link time if changed since compile

This makes the added benchmark case
* create step ~3x faster
* create step consumes half the memory (and half the garbage collected on destroy step)
* GC times in all 3 steps are about 30-50% less