REF: type change `escape` in `Styler.format` to str to allow "html" and "latex"
Change is made ahead of 1.3.0 to pre-empt the addition of `escape_latex` and to avoid name ambiguity.

This is not user facing since the `escape` kwarg was added for 1.3.0 only recently.

**Alternative**

If instead of having separate `escape_html` and `escape_latex` kwargs we could have `escape={None, 'html', 'latex'}` since it is likely they will be used exclusively??
> can u move this to the to_html or to_latex method instead?

no, because it's mixed in as part of the formatting routine, and the idea is that DataFrames should be formatted before calling `to_html` or `to_latex`, i.e.

```df.style.format(...).to_xxx()```

if escape is added to the render method then `format` needs to be called within the render method overwriting the previous chained application and negating it all and restricting its flexibility.

what about expanding the keyword inputs to:

```
escape=None,
escape='html'
escape='latex'
escape=['html', 'latex']
```

?




 yeah the last is fine i guess

but is there a way to just escape things that work in both html and latex? > yeah the last is fine i guess
> 
> but is there a way to just escape things that work in both html and latex?

not currently because of operation order. the format method is ignorant of how the styler will ultimately be rendered, and it yields a one-arg-callable for each data element decoupled from render method. if it becomes dependent it introduces operation order complexity and possible performance degradation. 

(and of course html and latex have different escaped chars)

will propose the former alternative and can review again. @jreback it turns out some of the escaped characters overlap so it is **impossible** to escape 'html' and 'latex' simultaneously.

I've edited this PR to allow `escape in {None, 'html', 'latex'}` and added the necessary latex escape function and tests.