initial version of generic graph report template

Example report:

```python
class GraphDemoReport(GenericTabularReport, CustomProjectReport, ProjectReportParametersMixin):
    name = 'Graph demo'
    slug = 'graph_demo'

    report_template_path = 'reports/async/tabular_graph_generic.html'

    extra_context_providers = [charts]

    @property
    def headers(self):
        return DataTablesHeader(DataTablesColumn("a"),
                                DataTablesColumn("b"),
                                DataTablesColumn("c"))

    @property
    def rows(self):
        return [[1, 2, 3]]

    def charts(self):
        x = Axis('x-label')
        y = Axis('y-label')
        c1 = MultiBarChart(x_axis=x, y_axis=y)
        c1.stacked = True
        c1.add_dataset('scheme a', [{'x': x, 'y': x} for x in range(0, 100)])
        c1.add_dataset('scheme b', [{'x': 100-x, 'y': x} for x in range(0, 100)])

        c2 = PieChart([{'key': "Cumulative Return", 'values': [
            {"label": "One", "value": 29},
            {"label": "Two", "value": 50},
            {"label": "Three", "value": 32}
        ]}])

        return [c1, c2]
```