Support for Field Visibility

See github: https://github.com/carllerche/codegen/pull/44

Likely a good feature, MR from that thread should be mergable.

Should comment on that thread when complete here.