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.
@moderndeveloperllc cool thanks :+1: . You are right about PHPs handling of floats and I believe that is something that needs to be addressed upstream urgently. I was rewriting that part myself (only to find out that you were already working on it)