Adding support for inner anonymous classes

Closes #27 
I strongly believe this is wrong.

An anonymous class either extends a direct superclass or implements an interface, the parameterization is the one of that superclass or implemented interface, not the one of the anonymous class itself.
In other words, it really is `AnonymousClassWriter.create(ParameterizedTypeName.create(ArrayList.class, ClassName.fromClass(String.class))`, **not** `AnonymousClassWriter.create(ArrayList.class).addTypeVariable(String.class)` (which BTW is not a type variable).