re-write the DSL as a self-extended module
re-write the DSL as a self-extended module

  - this let us drop the use of Singleton from the standard lib
  - moved the 'Main' dsl up to the top level, DSL:Resource remains
    unchanged
  - adds ability to set name and description for the whole API

xentek/hyperdrive