Reorganized project into clearly defined packages

Closes #51 

* code separated out into clearly defined packages
* replaced grunt with gulp build system