Clean up implementation (step 3)

Generators are now building AST instead of strings

Most of the code uses `quote_*!` macros, but some functions use `ecx.parse_item` because quotes are unable to do what these functions want to do.

## Warning: compilation time

This PR doesn't seem to change considerably the compilation time of gl-rs (there seems to be a very minor reduction).
However on my local PC, compiling gl_generator goes from 9 seconds (before this PR) to **29** seconds (after).

Because of this change I'm not sure whether we should merge this.