major refactoring

Use RequireJS, eliminate the formdesigner singleton with controller,
model, and ui having tangled inter-references including a bunch of event
soup, in favor of well-defined coponents using events only for loose
coupling.

See https://gist.github.com/mwhite/10e42de5b24b3437a610 for additional
explanation.

Removes recently added label appearance attribute, drop circular
reference warning and duplicate ID renaming, will re-implement / add
back shortly.

Also fixes #84: choice icon in tree should change when moving from
single to multiple answer or vice versa