Added hammerjs v2 definitions and tests

@vvakame, Hammer.js v2 is a **complete code rewrite**, its new API is incompatible with 1.x. This meant that the d.ts also required a complete rewrite—not one line of the 2.0.4 d.ts comes from the authors of 1.x.

I personally wouldn't want anyone to attach my name to a d.ts to which I have not contributed. If my style of writing a d.ts is not to their liking, it would be unfair of me to attach their name to it. Doing so without their permission would be wrong. 

**Previous authors:** Please review/contribute to this new d.ts and add your names as you see fit. Thanks.