feat: initial implementation
chore: package.json
chore: add karma config
chore: add travis config