### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

When invoking a lambda with a nodejs runtime and local executor, localstack is unable to handle payloads containing a single quote.

### Expected Behavior

Locally executed nodejs lambdas should be able to handle any stringified json payload

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

https://github.com/alxyuu/localstack-issue

### Environment

```markdown
- OS: MacOS 11.5.2
- LocalStack: latest (0.12.18)
```


### Anything else?

The culprit appears to be in how node gets executed locally, with a single quoted eval:
https://github.com/localstack/localstack/blob/812acc1226537ee92477bd91596de200b8888a6c/localstack/services/awslambda/lambda_executors.py#L1262-L1270

doing something like `event_json_string.replace("'", "'\\''")` may be a simple resolution to the issue.
iam_client = aws_stack.connect_to_service("iam")
        lambda_client = aws_stack.connect_to_service("lambda")
        
        action = "lambda:InvokeFunction"
        principal = "s3.amazonaws.com"
        statement_ids = ["s4", "s5"]
        for sid in statement_ids:
            resp = lambda_client.add_permission(
                FunctionName=function_name,
                Action=action,
                StatementId=sid,
                Principal=principal,
                SourceArn=aws_stack.s3_bucket_arn("test-bucket"),
            )
            self.assertIn("Statement", resp)
        
        policies = iam_client.list_policies(Scope="Local", MaxItems=500)["Policies"]
        matching = [p for p in policies if p["PolicyName"] == "lambda_policy_%s" % function_name]
        self.assertEqual(1, len(matching))
        self.assertIn(":policy/", matching[0]["Arn"])
        
        policy = matching[0]
        versions = iam_client.list_policy_versions(PolicyArn=policy["Arn"])["Versions"]
        self.assertEqual(1, len(versions))
        statements = versions[0]["Document"]["Statement"]
        for i in range(len(statement_ids)):
            self.assertEqual(action, statements[i]["Action"])
            self.assertEqual(lambda_api.func_arn(function_name), statements[i]["Resource"])
            self.assertEqual(principal, statements[i]["Principal"]["Service"])
            self.assertEqual(