add shift parameter to cubism context, which enables rendering data during
a period in the past. though metric.shift can render data correct, but does
not make the axis right.
compiled js file
duplicate horizon and rename it to line chart
a simple linechart implementation.
linechart now renders yaxis, quite dumb though.
be easy, no need to transform the actual linechart
add three configurable option to line chart

step
  when rendering how many data points will be rendered as one graph point, default: 1

stroke_width
  exposing svg.line's option, default: 1

show_yaxis
  render y axis, default: false
another useful option: summarize, a function that defines how data should be
summarized during a certain step. The default summarize function is sampling
the first element in the step. d3js also provices a series of other candidate
like d3.sum, d3.max, d3.min, d3.median, d3.mean
linechart supports rendering few data points than number of pixels to be displayed.

linechart and axis object now takes an addition option: width to configure their
actually width regardless of the size of context (i.e. how many data points to be rendered)
avoiding y axis overlap with acutal graph.
use axis_width instead of show_yaxis to control whether y axis is displayed or not
fixing axis width
being able to set ticks
takes a list of metric and rename stuff to metrics.
get rid of title span and value span. replace it with toolkit box
nice toolpit size and positioning
fixing bug that toolpit cannot load metric from metrics other than the first metric
being able to draw multiple lines in one chart
making the toolpit looks better and value rendered in color matching the line
refining data round up
being able to change ticks format
data maynot start from 0