## Bug description

Sites built with Tailwind use a lot of classes like: `text-base leading-6 font-medium text-gray-500 hover:text-gray-900 focus:outline-none focus:text-gray-900 transition ease-in-out duration-150` 

The problem is with the ones that have a colon (`:`) inside them. Simmerjs crashes with the following:

```
Failed to execute 'querySelectorAll' on 'Document': 'A.text-base.leading-6.text-gray-400.hover:text-gray-500.hover:text-white' is not a valid selector
```

... bringing down the entire toolbar.

## Expected behavior

The toolbar shouldn't crash when your page contains a CSS class with a colon in it.

https://stackoverflow.com/questions/45110893/select-elements-by-attributes-with-colon

## How to reproduce

1. Make a page with a `<button />` that has a class `with:colon`.
2. Wait for a few events to be captured or click the button yourself
3. Open the toolbar, click "heatmap" and watch it burst up in flames (and then crash)

posthog/test/test_event_model.py
@patch("celery.current_app.send_task")
    def test_send_to_slack(self, patch_post_to_slack):
        self.team.slack_incoming_webhook = "http://slack.com/hook"
        action_user_paid = Action.objects.create(team=self.team, name="user paid", post_to_slack=True)
        ActionStep.objects.create(action=action_user_paid, event="user paid")
        event = Event.objects.create(team=self.team, event="user paid", site_url="http://testserver")
        self.assertEqual(patch_post_to_slack.call_count, 1)
        patch_post_to_slack.assert_has_calls(
            [call("posthog.tasks.webhooks.post_event_to_webhook", (event.pk, "http://testserver"))]
        )
class TestSelectors(BaseTest):
    def test_selector_splitting(self):
        selector1 = Selector("div > span > a")
        selector2 = Selector("div span > a")
        selector3 = Selector("div span a")
        selector4 = Selector("div > span a")
        self.assertEqual(len(selector1.parts), 3)
        self.assertEqual(len(selector2.parts), 3)
        self.assertEqual(len(selector3.parts), 3)
        self.assertEqual(len(selector4.parts), 3)
    def test_selector_child(self):
        selector1 = Selector("div span")
        self.assertEqual(
            selector1.parts[0].__dict__, {"data": {"tag_name": "span"}, "direct_descendant": False, "unique_order": 0,},
        )
        self.assertEqual(
            selector1.parts[1].__dict__, {"data": {"tag_name": "div"}, "direct_descendant": False, "unique_order": 0,},
        )
    def test_selector_child_direct_descendant(self):