text: Title: Support _circuit_diagram_info_protocol_ for customized rendering of tags in circuit diagrams
  Body: This is a follow-up to #6411 which introduced `str()` as a default representation of tags in a text circuit diagrams.
  This should be kept as a default method, but we would like to also support the `_circuit_diagram_info_protocol_`
  for tags.  `_circuit_diagram_info_protocol_` - if defined - would produce a specialized string for rendering the tag object in circuit diagrams.
  
  **What is the urgency from your perspective for this issue? Is it blocking important work?**
  
  P2 - we should do it in the next couple of quarters 
  