rewrote html and javascript to use knockout

this is pretty rough but it works.
added mvvm interaction functions

added the function stubs for changing the view and modified the CSS to
work with the new mvvm structure.