Rename uniform_field_visitor to reflect a more general purpose.  TODO: improve this comment.

There's actually nothing uniform-specific in uniform_field_visitor.
This patch renames it to program_resource_visitor, and changes several
of the comments used within it, to clarify that it can be used for
other purposes as well.

A future patch in this series will start using variable_field_visitor
to enumerate fields within varyings.
WIP: use shared code in tfeedback_decl::init()
Use a hashtable to keep track of transform feedback candidates