Not sure about moving PinAPI and PinBankAPI out of the gpio module.  To fully implement the Pin and PinBank APIs you'll also need constants defined in gpio module (directions for example).  

Because in Python you can't define interfaces except by documentation (which I haven't done, I admit), the PinAPI and PinBankAPI are only partial implementations of the interface and things that want to be Pin-like or PinBank-like must implement things that are not defined on PinAPI & PinBankAPI. In fact there's no reason to subclass PinAPI or PinBankAPI if it's easier not to.  So, I'd say move them back to gpio.  They are modelling digital GPIO pins, and it seems reasonable for them to be in gpio.