Add 'precommit' for running simple checks
main.js: refactor, extract 'make_ui()' from main()

Make the UI easier to manipulate by wrapping it up in a JS object and
moving the setup into a factory function.
Add a text input problem to start with

Start adding 'text input' problems to better test knowledge and
spelling.  Just hack the first problem to be a 'text input' problem for
now, in later work this will be more configurable.