- Updated project to use RequireJS

- Updated project to use RequireJS
- Significant refactoring