Current trunk is already include flt modules. It is almost compatible with release_1_0.
reyalp-flt branch contain several significant improving and will be commited to main trunk in near future.
One of change it that no more common gui table exists (and so slightly more incompatible with release_1_0). Please look
https://trac.assembla.com/chdk/changeset/1513.
[2outslider: please note that gui handler structure slightly changed there]
Virtual keyboard surely will go to experimental branch. And my vote - it should be module. It is not often to use this feature, so no reason to keep it always .
No problem if it is integrated into core now. I will assist to separate it as correct module when it become stable.
It should be runnable system module with parameters (see fselect, palette). It could return string via char[] array in the core or (more preferable) just allocated string.
Mbox kept in the core because: a) it used everywhere in system; b) it required to correct work of core (a lot of messages are produced there and so if something wrong with modules/no module CHDK still is able to make most of its functionality).