Support for Plugins and new interface for define()
Support for Plugins and new interface for define()

- corrected tabs for require statements
- added core functions to the defiend object so that they can be overridden
  (this also ensure they follow the same rules as user plugins)
- standarized the method signature for plugins so that they have a standard interface
- moved all the core plugins to a plugin directory and removed thier
  code from this file

ansteh/shape-json