1) I never really use it, but it's possible it's just a list of the top-level methods, not nested ones.
2) Correct. If you nest methods then you need to pass a reference to the document object. The "this" object will not always point to it.
3) This method returns the name of a field, not a Field object.
I think this would work if you could make the document object a member of the Object being created.
To do that, a constructor needs to be invoked so that it can instantiate a public property of the Object.
var MyUtil = new Utility(this);
inside of Utility I would have:
this.oPDFdoc = this;
thereby transferring a reference to the entire PDF document to my Object.