- VsmxInterpreter.interpretFunction: save/restore pc/exit/stack/callStates so
re-entrant event firing (FireEventAnim, timers, movie callbacks) no longer
truncates the outer script. This is what left ss_btn_mm without focus
(Scenes appeared frozen: no selection, input ignored while audio continued).
- Add default geometric focus traversal for buttons with no direction handler:
Controller.moveFocus picks the nearest visible focusable object. The PSP does
this natively; English/Francais buttons have no onUp/onDown events in the RCO
and relied on it.
- Track page visibility (BaseObject.displayed, set by PageObject.open/close) so
traversal skips closed pages and collapsed (alpha 0) columns.
- Make BaseObject.trigger null-safe.