Closes #5. Add TypeScript support.