Fix #526 Floating point display issue in Numberfield widget

Fixes the display issue by working with Strings when necessary.
This fix also limits the `maxDecLen` property of a pattern to 20 to prevent potential errors when passed to toFixed().