### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

When a scheduled rules runs, an empty event is generated and sent to targets.

### Expected Behavior

An event like this sample should be sent.
```json
{
  "version": "0",
  "id": "89d1a02d-5ec7-412e-82f5-13505f849b41",
  "detail-type": "Scheduled Event",
  "source": "aws.events",
  "account": "123456789012",
  "time": "2016-12-30T18:44:49Z",
  "region": "us-east-1",
  "resources": ["arn:aws:events:us-east-1:123456789012:rule/SampleRule"],
  "detail": {}
}
```

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

    docker-compose up

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

    awslocal events put-rule --name scheduled_rule --schedule-expression "rate(1 minutes)"
    awslocal events put-targets --rule scheduled_rule --targets "Id"="1","Arn"="arn:aws:logs:us-east-1:000000000000:log-group:/aws/events/echo"
    awslocal--endpoint-url=http://localhost:4566 logs tail "/aws/events/echo"

### Environment

```markdown
- OS: macOS Monterey
- LocalStack: 0.13.3
```


### Anything else?
I think [this](https://github.com/localstack/localstack/blob/1567f25a8f672f4dec23cb7cb1aadb5a744366f8/localstack/services/events/events_listener.py#L92) means an non-empty event is sent only when an input is `Constant (JSON text)`.
![image](https://user-images.githubusercontent.com/4127030/151643813-a4d1e113-dba3-41ad-8400-da57e4f674a1.png)

aws_client.events.put_targets(
            Rule=rule_name,
            Targets=[{"Id": target_id, "Arn": queue_arn, "InputPath": "$.detail"}],
        )
        param_suffix = short_uid()
        
        aws_client.ssm.put_parameter(
            Name=f"{ssm_prefix}/test-{param_suffix}", Value="value1", Type="String"
        )
        def assert_message():
            resp = aws_client.sqs.receive_message(QueueUrl=queue_url)
            result = resp.get("Messages")
            body = json.loads(result[0]["Body"])
            assert body == {"name": f"/test/local/test-{param_suffix}", "operation": "Create"}
        
        retry(assert_message, retries=7, sleep=0.3)
        
        clean_up(rule_name=rule_name, target_ids=target_id)
    @markers.aws.unknown
    def test_put_event_with_content_base_rule_in_pattern(self, aws_client, clean_up):
        queue_name = f"queue-{short_uid()}"
        rule_name = f"rule-{short_uid()}"
        target_id = f"target-{short_uid()}"
        queue_url = aws_client.sqs.create_queue(QueueName=queue_name)["QueueUrl"]
        queue_arn = arns.sqs_queue_arn(queue_name, TEST_AWS_ACCOUNT_ID, TEST_AWS_REGION_NAME)
        pattern = {
            "Source": [{"exists": True}],
            "detail-type": [{"prefix": "core.app"}],
            "Detail": {