Make val hooks; add basic testing.

The valHooks can only be set at a tag level, thus one needs to keep
track of any previous valHooks that are set on the div tag, and properly
call it if the div-in-question doesn't match the appropriate class.