switch to requireJs to achieve JS modularization
switch to sammy for routing and further clean up modules