## Is your feature request related to a problem?

When setting up dashboards I'd like to filter the stats to a certain page/subdomain. 

## Describe the solution you'd like

Allow adding a extra filters for all graphs on a dashboard (e.g. filter by $current_url)

## Describe alternatives you've considered

Updating every graph in dashboard one-by-one and then reverting them back.

## Additional context

Related to https://github.com/PostHog/posthog/issues/780

Datadog has a decent solution for this: https://docs.datadoghq.com/dashboards/template_variables/, which I think we can simplify and use ourselves.

Came up during #2560 

#### *Thank you* for your feature request – we love each and every one!

posthog/api/test/test_dashboard.py
item_trends: Insight = Insight.objects.create(
                filters=Filter(
                    data={
                        "display": "ActionsLineGraph",
                        "events": [{"id": "$pageview", "type": "events", "order": 0, "properties": []}],
                        "filters": [],
                        "interval": "day",
                        "pagination": {},
                        "session": "avg",
                    }
                ).to_dict(),
                team=self.team,
                last_refresh=now(),
                order=1,
            )
        DashboardTile.objects.create(dashboard=dashboard, insight=item_trends)
        with freeze_time("2020-01-20T13:00:01Z"):
            response = self.client.get(f"/api/projects/{self.team.id}/dashboards/%s?refresh=true" % dashboard.pk)
            self.assertEqual(response.status_code, 200)
            response_data = response.json()
            self.assertIsNotNone(response_data["items"][0]["result"])
            self.assertIsNotNone(response_data["items"][0]["last_refresh"])
            self.assertEqual(response_data["items"][0]["result"][0]["count"], 0)
            item_default.refresh_from_db()
            item_trends.refresh_from_db()
            self.assertEqual(parser.isoparse(response_data["items"][0]["last_refresh"]), item_default.last_refresh)
            self.assertEqual(parser.isoparse(response_data["items"][1]["last_refresh"]), item_trends.last_refresh)
            self.assertAlmostEqual(item_default.last_refresh, now(), delta=timezone.timedelta(seconds=5))
            self.assertAlmostEqual(item_trends.last_refresh, now(), delta=timezone.timedelta(seconds=5))
    def test_dashboard_endpoints(self):