DO NOT MERGE: New file structure

Things still left to do: fix Jakefile to use `browserify` as a build step
all a module requires is directly accessible via `require` without any need for global objects