Lightweight, standalone JavaScript framework for declaratively layering behaviour on top of semantic HTML