rewrite JS for functional and style improvements, and smaller size, update SCSS to match, update README, add .editorconfig to force some code style