Convert to CoffeeScript

I noticed that this makes heavy use of classes, but JS has a really awful syntax for making those. So, I converted a bunch of the library into CoffeeScript. I also made a few small improvements on the code and the docs.

This conversion isn't finished, but this PR is the first big part. Once the conversion is finished, we can get rid of `extendWithGettersAndSetters` and will have a much easier to read code-base.

Oh, also: before the next release of this lib, I need to add a [Makefile](https://github.com/jenius/roots/blob/master/Makefile) for compiling all the coffee. It doesn't really slow down AssetGraph by a noticeable amount (based on the test-cases) but I'm sure that having it compiled before being distributed on npm would make it faster than not.