Fixes for balance board
Synchronous expansion init

Write with callback doesn't work right with some hardware, because
the corresponding ack report 0x22 is not always sent. Then the callback-based
write will never finish and the application will either hang or not initialize
correctly.
Try harder to initialize the expansion

Try multiple times to init the expansion, tries to work around problems
with the half-connected expansions - robustness.