v0.3.0

Introduce new architecture that enables more flexible extension.

- Basically same interface with v0.2.x
- Introduce prototype architecture to allow us to define custom API and change the default behavior.
- Introduce a concept of `internal` to keep simplicity of chart object and distinguish API (external) and internal functions and variables
- Split `c3.js` into small src files in order to improve modularity
- Introduce unit test

An example of the code base:
```javascript

// same interface with the current version
var chart = c3.generate({ ... });
chart.focus(...);

// introduce internal API so that we can access internal variables and functions
chart.internal;
chart.internal.isTimeseries(); // isTimeseries is an internal function, but now we can access

// you can define custom API through c3.chart.fn
c3.chart.fn.myApi = function(){
   // isTimeseries is an internal variable, but now we can access in API definition
   this.internal.isTimeseries(); 
};
chart.myApi() // now we can call this

// you can change the behavior of internal functions through c3.chart.internal.fn
c3.chart.internal.fn.drawLine = function() {
   if (this.isTimeseries()) {
     // do something
   } else {
     // do something
   }
};
```

Discussion about this is here:
https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!topic/c3js/M3Enybz1Q5k