Supporting Node/NPM/UMD

So, currently the Node support in Tess2 is broken. It works in pure node, or in pure browser (i.e. `<script>` tags), but it won't work if you're using, say, Beefy/Browserify. This is why it's generally better to let build tools handle the shim/wrapper for various environments, as below.

This change does a few things:

- Add a package.json so it can be installed with NPM
- Add an index.js which points to our source
- Export the Tess2 object in src/tess2.js, no more closure or polluting the global object. I left indentation for a cleaner PR but you can change that. 
- Updated the readme with relevant build information
- Added a UMD build. This is the build that you would use in, say, a `<script>` tag. The same file will also work in NodeJS and RequireJS environments.
- Added the build to `.npmignore`, since it's not needed if you've installed via NPM

The main sticking points:
- You can now install Tess2 easily with NPM
- Other libraries can mark Tess2 as a dependency. This way, when a user installs that library, it will also grab the latest version of Tess2. 
- You can mark updates to Tess2 with [semantic versioning](http://semver.org/) so that nobody's code breaks unexpectedly.

I'll let you publish to NPM. Typically the process looks like this:

```
# commit your bugfix
git commit -m 'fixing a bug with XXXXX'

# now bump the version
# this will add a git tag and change our package.json
npm version patch

# publish new version to npm
npm publish

# push new version
git push

# push new version tag
git push --tags
```