Introduced a component registration system

To make it easier to add new charting/drawing componnents a simple
extension system has been added.

The component types are fixed and built-in, e.g. barChart, lineChart,
graph, etc.

A new flavor for a component type can be added, e.g.,

Figure.registerComponent("lineChart", "nvLineChart") will register new
flavor "nvLineChart" for lineCharts.

Its draw function can be obtained by:
Figure.getDrawForComponent("lineChart", "nvLineChart")

This assumes (and checks!) that the function
Figure.drawFunction.nvLineChart exists.
Started reorganizeing graph component