Make solver algorithm configurable.
Add UI for choosing solver algorithm.
Refactor solver service to use persistent worker.
Refactored solver code into separate files.
Merge branch 'master' into multi-page-layout

* master:
  Refactored solver code into separate files.
  Refactor solver service to use persistent worker.
  Add UI for choosing solver algorithm.
  Make solver algorithm configurable.

Conflicts:
	app/index.html