## Bug description

We've had a user create a funnel with Korean characters and 17 steps, which causes this issue:
![image](https://user-images.githubusercontent.com/1727427/120301818-8c212a00-c2cd-11eb-8b00-7ba242e4a9ab.png)

## Expected behavior

We should send requests to api/insight/funnel using POST instead of GET.

## How to reproduce

1.
2.
3.

## Environment

- [ ] PostHog Cloud
- [ ] self-hosted PostHog, version/commit: _please provide_

## Additional context



#### *Thank you* for your bug report – we love squashing them!

posthog/api/test/test_insight.py
response = self.client.post(
                "/api/insight",
                data={
                    "filters": {
                        "events": [{"id": "$pageview"}],
                        "properties": [{"key": "$browser", "value": "Mac OS X"}],
                        "date_from": "-90d",
                    },
                },
            )
            self.assertEqual(response.status_code, status.HTTP_201_CREATED)
            objects = DashboardItem.objects.all()
            self.assertEqual(len(objects), 1)
            self.assertEqual(objects[0].filters["events"][0]["id"], "$pageview")
            self.assertEqual(objects[0].filters["date_from"], "-90d")
            self.assertEqual(len(objects[0].short_id), 8)
        
        def test_insight_trends_basic(self):
            with freeze_time("2012-01-14T03:21:34.000Z"):
                event_factory(team=self.team, event="$pageview", distinct_id="1")
                event_factory(team=self.team, event="$pageview", distinct_id="2")
            with freeze_time("2012-01-15T04:01:34.000Z"):
                response = self.client.get(
                    "/api/insight/trend/?events={}".format(json.dumps([{"id": "$pageview"}]))
                ).json()
            self.assertEqual(response["result"][0]["count"], 2)
            self.assertEqual(response["result"][0]["action"]["name"], "$pageview")
        def test_insight_trends_breakdown_pagination(self):