Fix for #6300 -  I18n float validator rewrite

Fix for #6300. This is a complete rewrite of the validator to account for non-latin number systems, scientific notation, and "look-alike" characters (space for NO-BREAK SPACE, comma for ARABIC DECIMAL SEPARATOR, and single quote for ARABIC THOUSANDS SEPARATOR). Though the test class only tests against 13 locales, the logic was tested against all 709 locales in CLDR 25.

This also includes a small cleanup of the formatting on NumberFormat filter and removal of the extraneous NO-BREAK SPACE removal.

Rewrite of the test class to use programmatic values for `true` tests using both decimal and scientific notation.
Make sure to reset the locale to what it was before.