client-side view manipulation

add base class for client views with methods to get parents and
children. allow pages/views to specify multiple css/js dependencies.
support view-defined ID attributes.