Implement the cache for the UIDS table in MRuby land via a regular MRuby hash.

The reason behind this being that the GC does not see the std::map
entries and would sometime accidentally garbage-collect objects that
are referenced from the cache.
Add touch event
gen_docs.rb can now document modules
Fix class/module-method mapping in docs
Improve scripting docs