red-brick/npw: Make QWizard(Page).field() virtual

Add ProgramWizard and ProgramPage wrappers that provide a get_field()
method.
red-brick/pi: Use proper root directory instead of making it up from the name