### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

`#return` macro for AppSync is not supported

```
- ["Error in template '<string>' at position 48-60 in expression: #return($v1)\nException: no such macro: return\n\nGraphQL request:3:11\n2 |         {\n3 |           hi2 {\n  |           ^\n4 |             value"] None
```

### Expected Behavior

`#return` is a valid command in AppSync Resolver Velocity request and response templates.

https://docs.aws.amazon.com/appsync/latest/devguide/aws-appsync-directives.html 

### How are you starting LocalStack?

With the `localstack` script

### Steps To Reproduce

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

    localstack start

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

1. `CDKDeployment`
2. GraphQL Rest API to `localstack`

3. AppSync resolver with response template:

```vtl
#set($v1 = {})
$util.qr($v1.put('value', 'hi'))
#return($v1)"
```

```sdl
schema {
  query: Query
}
type valueObj {
  value: String
}
type Query {
  hi2: valueObj
}
```

4. Query AppSync

```sdl
Query {
   hi2
}
```



### Environment

```markdown
- OS: Ubuntu/WSL2
- LocalStack: 0.14.2.1
```


### Anything else?

The same code runs fine on AWS/AppSync.
"""
    Simple class to mimic the behavior of variable '$input' in AWS API Gateway integration
    velocity templates.
    See: http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html
    """
    def __init__(self, body, params):
        self.parameters = params or {}
        self.value = body
    def path(self, path):
        if not self.value:
            return {}
        value = self.value if isinstance(self.value, dict) else json.loads(self.value)
        return extract_jsonpath(value, path)
    def json(self, path):
        path = path or "$"
        matching = self.path(path)
        if isinstance(matching, (list, dict)):
            matching = json_safe(matching)
        return json.dumps(matching)
    @property
    def body(self):
        return self.value
    def params(self, name=None):
        if not name:
            return self.parameters
        for k in ["path", "querystring", "header"]:
            if val := self.parameters.get(k).get(name):
                return val
        return ""
    def __getattr__(self, name):