discriminate open_sf/open_pf/new_vf, with different metatables.  adapt old functions to a fluent api
most PF initialization, bring more extense register definitions
more traditional OOP aesthetics, set stage for cherrypick inheritance
each object in it's own place in the file
PF mostly working, sharing as much code as possible with SF
most of VF done, shares main TX/RX code with SF