The work is in progress (devel-framework branch). I'll give you a current state information, so you can take over when I'll be on vacation next week.
Framework classes can be grouped in three groups:
rcube_addressbook rcube_cache rcube_config rcube_contacts rcube_imap rcube_imap_cache rcube_imap_generic rcube_ldap rcube_mdb2 rcube_mime rcube_plugin rcube_plugin_api rcube_result_* rcube_session rcube_smtp rcube_storage rcube_user rcube_spellchecker rcube_message
rcube_template rcube_json_output rcube_ui rcube_html_page
html rcube_browser rcube_base_replacer rcube_string_replacer rcube_vcard rcube_charset
TODO:
only backend-related functionality. The idea is that in use-case where UI is not needed we'll be able to just do: class rcmail extends rcube_framework {}
plugins->exec_hook() wrapper,
rcube_addressbook return translated error messages? I think so.
on rcube_ui nor localization,
Utils group,
on rcube_shared.inc or even nothing,
move it to Frontend,
rcube_bc.inc and don't include it by default. Leave it for lazy plugin authors (or add an option in config to do that without any code changes).