Fix ->string operations on raw objects (maps).
Change the operation of solar modules:
- modules are now namespaced by returning a single object from a call to
  require, similar to Node.JS/CommonJS/RequireJS
- native filenames now automatically adapt to each OS, making
  portability simpler
- native libs may define extensions of existing objects in addition to
  exports to simplify library creation
- the format for solar descriptor files is very different to make
  definition less verbose