SourceMap transform chain

Trying to sustain location information through transform chain.
ref: [browserify v2 adds source maps](http://thlorenz.com/blog/browserify-sourcemaps)

- [x] add testcase
- [x] use espower, esprima and escodegen directly
- [x] if upstream SourceMap is given, decode and offset it
- [x] functional tests
- [x] refactor