Add support in SourceMapConsumer for indexed source maps

Fixes #16 (or at least the consumption part of it)

This is a WIP, but consumption of indexed source maps seems to be working. Let me know if you see anything going complete the wrong way, or if there are additional things that need implementing that I'm missing.

I'm not totally sure where the documentation for each of the functions should live - should I create stub functions on `SourceMapConsumer.prototype` that just throw errors saying they must be overridden, and place the documentation there? Or is it okay to duplicate the documentation between `BasicSourceMapConsumer` and `IndexedSourceMapConsumer`?


As I said above, let's move from inheritence to composition by just having the `SourceMapConsumer` methods forward to the `_implementation` methods.