try to do a better job with MVC architecture of web app:

 - model, which provides access to parsing and evaluation,
   and holds on to an environment

 - views, which are only responsible for reading/updating the DOM

 - controller, which provides the glue between the model
   and the views

in addition:

 - clarify 'beagle' module's responsibilities:  parsing *only*

 - slightly clean up and reorganize tests to match new organization