Using Knockout.js to bind model to UI

See commit messages for details.