Closes #68; Added option accessor / mutator

I am fairly confident that this will work, but I would feel a lot better if we had unit tests in place to make sure it continues to do so. For the time being I'd like to get it in as an experimental / untested feature. Might think about bumping up #24 into release 0.6.0.

@bontibon - Can you give this a quick look for me?
Multi-setting does not work for nested keys.  For example, this is currently not possible:

    chart.option({
      'margins.bottom': 100,
      'margins.left': 100,
      'margins.right': 100,
      'margins.top': 100,
    });

For DRYness, the nested option code should only be in the multi-setting case.  If the method is invoked using `.option(key, value)`, just create a new object with key `key` and value `value` and let the multi-set code handle it.