lots of changes

make it work with requireJS
reorganize some stuff
one component per file
backbone router for SPA