Output sensing
This is the necessary prelude to proper sizing. It makes Squeekboard able to act on output changes (stubbed).
At the same time, I made smaller refactors, including moving more initialization to Rust. That doesn't look great now, but will bear code removal fruits when the panel gets created based on the new data path about outputs, instead of reaching behind the back.