Add HTML color support to the pretty printer.
* escape HTML in pp.text() and pp.break().
* add a separable_lines mode to ensure that no tags cross line boundaries. We need this in the jaxpr_html dump mode because it does not form the DOM for an entire jaxpr at once, but instead lazily adds lines individually depending on what is in the viewport.
* make sure that pp.source() regions do not have improper nesting with respect to color tags by ensuring that we are in the default color state at the start and end of each region. This makes it safe to wrap them in other HTML tags.
PiperOrigin-RevId: 912150512