reorganize project:  introduce requirejs for loading modules; have modules use requirejs to load dependencies; combine declarative unit test cases with corresponding modules; run unit tests automatically