CLN: merge formatting code from Styler.format with FloatFormatters
Currently `Styler.format` has its own formatting logic, for example determining precision or na_rep, and replacing thousands or decimal symbols.

Pandas DataFrame formatters have similar logic but noyt identical and are applied in different ways: For example:

 - FloatArrayFormatter doesn't have the thousands argument which is quite useful for Europeans.
 - the FloatArrayFormatter is vectorised but Styler does display_funcs element-wise (which it can't avoid for processing individual cell styles). This may make it difficult to refactor across module (unless the fomat_class was called element-wise)
 - it is difficult to replicate other parameters such as the escape_html (escape_latex) arguments in the same processing order to preserve features and the subset argument makes vectorisation difficult, in addition to item 2.
