Merge branch 'master' into develop
fix($support): fix broken test on Opera 12

Opera return `function() {}` and not `function () {}` as Firefox and Chrome
when calling `toString` on an anonymous function. The test of the inspect
utility didn't take that into account.
docs(README): fix typo in README
docs(pages): add explanation on server in index
fix(tests): fix broken tests on Internet Explorer 9

Includes:
  - The runner was failing when accessing the `dataset` property of a dom
    object, which is not supported by IE9.
  - The `utils.inspect` tests was failing because in IE9 function's name
    look like `function name() {}`.
  - The `Function::setter` and `Function::getter` tests was failing because
    IE9 doesn't support the `__proto__` property. The standard `Object.getPrototypeOf`
    function is used in priority.
chore($npm): add source-map module in package.json
wip(source-map): first implementation of source map support

Currently only the node runner support sources maps.
refactor(options): group contextual methods definition in a function

In order to make it more clear what is injected in the options given
the context (node or browsers), the `loadFile` and `getOriginalSourceFor`
methods are now injected by the CliMethods function.
The `getOriginalSourceFor` also rely on a `hasSourceMap` method that
return true for files that have a source map available.
feat(source-map): implements source map support in the browser

The BrowserMethods decorates the options with the contextual methods.
Two extras methods are provided to allow to define where the source
and source map files can be found when a file returned true in
`hasSourceMap`.
The server now provides routes to return source and source map and
specify the url mapping to use to retrieve these files.
fix(phantomjs): fix broken stack trace line parsing on PhantomJS

PhantomJS doesn't use the same stack trace format as chrome, thus
the regexp parsing the line was failing.
fix(source-map): use a fixed version of source-map for PhantomJS

PhantomJS don't provides the Function.prototype.bind method, breaking source-map.
A fix was submitted to source-map here: https://github.com/mozilla/source-map/pull/73
chore($tests): enable source-map for spectacular tests
fix(phantomjs): fix missed tests before the console reporter registration

The console reporter was registered on the open callback, and was sometime
missing some quick tests run at startup. By registering a watcher when
the spectacular resource is loaded we ensure that the console reporter
will be registered as soon as the envinroment is available.
fix(headless): fix some bugs occuring in phantomjs and slimerjs on travis
docs(pages): add documentation on source map support
fix(phantomjs): remove String prototype decoration to avoid error on travis
refactor(reporter): refactor line parsing methods
fix(node): fix broken tests due to invalid error line parsing

Node stack trace's line aren't consistent and some may not be useful
to retrieve a file. This case had been removed in the last commit.
docs(README): add source map option documentation
feat(source-map): implements source map support for both node and browsers

Merge branch 'feature_source_map_support' into develop

Closes #6