Move number parser to stately, and refactor controlled selection behavior (#1487)
* Move number parser to stately, and refactor controlled selection behavior
* Fix parsing currency symbols with valid number characters and add number parser tests
* Prevent invalid deletions, e.g. inside currency symbol