Refactor of Pretty Print visitor

It now uses it's return type to return pretty text instead of writing to
console directly.