Added duration based Crescendo class

What's one more pull request right? Just making sure you have more than enough to review when you get back. :) We can move the discussion from #188 here. Consider this a preliminary PR because I'm not sure about my implementation.

**Wide:**
![image](https://cloud.githubusercontent.com/assets/1631625/2757649/9b4c985e-c986-11e3-916c-6b3598db5872.png)

**Short**
![image](https://cloud.githubusercontent.com/assets/1631625/2757726/84a4d426-c987-11e3-816f-dbcecf3c7eea.png)

I talked about my implemenation in the issue (#188) but here it is again:
>since a `tickContext.width` doesn't occupy the entire space the formatter allocates, I had to give each `TickContext` a reference to its following `TickContext`. That way s the `x` value bounds are accessible when drawing the hairpin through a `TickContext.getNextContextX()`. Is that too hacky?