Mojo aleady does many things on your list and it will do all of them (and much more) in the near future.
Mojo consists of two parts, an engine and an application. The engine presents an API to the application. The API is defined in a file called mojo_engine.h in the source code.
For more information about the program's architecture, see
Overview for Programmers
Eventually, after Mojo has a powerful graphical interface, Mojo will have a script language but it will probably be the language from HotkeyNet 2 which is described here:Any plans to link in a scripting language like LUA, Python, JScript? The scripts can be linked to the I/O events in the I/O module.
http://www.hotkeynet.com/hkn2/ref/LanguageOverview.html
http://www.hotkeynet.com/hkn2/ref/ref_index.html
The reason I wrote a language from scratch is that the language for this program needs some peculiar things that don't exist (so far as I know) in any drop-in script language:
-- distributed processing
-- hotkey definitions
-- key lists
Connect With Us