Support multi-session GPIO
I'm not entirely sure about the logic around SET_BITS_HIGH. Especially that I don't have hardware to verify how the low bits operate with this change. Please treat this as a PoC change suggestion that we can work on.
While I was able to fix low bits state, then this is still a PoC: I'm pretty sure pstart logic is broken with this change. I guess it should require setting only GPIO bits and leaving UART part as default. I didn't check concurrent GPIO + UART usage.
We would need to make separate functions for reset-less open and close for compatibility. Otherwise looks good. Sadly, apparently i don't have an use case for such functionality yet, so can't improve/test it.