Merge pull request #17 from herby/master

In define with id specified, module.exports is always used as this instead of m.exports
rev for 0.0.6
Making amdefine self-contained so easily embeddad.

Node's require caches module, so calling require()
multiple times comes with little cost.
Also 'use strict'; is present in the body of the function.

This form of the function allows to easily embed amdefine
programmatically by just including its string representation.