Added visitor pattern to the gruntfile

This allows us to keep an unmodified version of the gruntfile into projects but still allow customization (in a separate file)

Fixes #33.