chore(*): set up the project structure and build

This commit adds the initial source code, sets up the project
structure, creates the gulp build file and configures karma.