ENH: `escape` html argument in Styler.format
- [x] closes #40388 

Adds an HTML `escape` parameter to `Styler.format`, which acts to escape the data value **before** it is passed to a formatter.

For example, `Styler.format('<a href="a.com/{0}">{0}</a>', escape=True)` will not escape the HTML as part of the formatting function, it will only escape the value `{0}` going into the formatter.
cc @jnothman if comments. also checks are failing > also checks are failing

when fixing these I noticed that the `na_rep` was not working with `escape` since missing values were escaped before being replaced.

so I refactored to fix this and added a test for it.

@jreback ping is green. this should be good to go in now, I believe. thanks @attack68 