consolidate number, string and checkbox value change functions (cherry picked from commit 22c1590885db0534afabff74be7504ca9a0998b5)
* Re-engineer UI in TypeScript * Switch to named imports where possible * Restructure file system layout * Update depencencies * Update README.md * Change explicit colors for better support for dark theme