Our build process is complicated, and types will help make changes easier.

Initial conversion of `setup.js` to `setup.ts`, and initial `Gruntfile` for using Grunt to build Doppio.

Grunt can currently build the dev-cli and release-cli variants of Doppio. It does not yet invoke `setup.ts`, and assumes you do so beforehand.

I will likely roll setup features directly into Grunt tasks, and I might also separate certain Grunt tasks into separate files.

Then, we can be like any other library: Run `npm install && grunt` and you're done.

Refs #273.