initial view re-rendering and dom events

implement ability for views to re-render themselves. allow dom events to
be specified as view properties. default to sending everything in
this.data down to the view rather than specifying data separately.
add get/set methods to abstract notify

set() sets a property on this.data and calls notify to let the object
know it changed. add corresponding get() method that just gets a
property on this.data. also add listeners() and getElementById to
improve event handling.
initial ajax support

all classes/objects have a hash that uniquely identifies the class
within the class registry module. pass class hash to javascript so we
can later re-create objects on the server. basic client-side ajax class.
support for calling methods defined in the server-side ajax() property
or arbirtary ajax endpoints.